Unterschied zwischen Fehler und Ausnahme in Java

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 5 Kann 2024
Anonim
JAVA Grundkurs #11 - Fehler und Exceptions [Tutorial]
Video: JAVA Grundkurs #11 - Fehler und Exceptions [Tutorial]

Inhalt


"Throwable" fungiert als Root für die Fehler- und Ausnahmehierarchie von Java. "Fehler" ist eine kritische Bedingung, die vom Programmcode nicht behandelt werden kann. "Ausnahme" ist die Ausnahmesituation, die vom Code des Programms behandelt werden kann. Der wesentliche Unterschied zwischen Fehler und Ausnahme besteht darin, dass ein Error ist auf mangelnde Systemressourcen zurückzuführen Ausnahme wird wegen Ihres Codes verursacht. Untersuchen wir andere Unterschiede zwischen Fehlern und Ausnahmen zusammen mit einer Vergleichstabelle.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichErrorAusnahme
BasicEin Fehler wird aufgrund fehlender Systemressourcen verursacht.Aufgrund des Codes wird eine Ausnahme verursacht.
WiederherstellungEin Fehler ist nicht behebbar.Eine Ausnahme kann wiederhergestellt werden.
SchlüsselwörterEs gibt keine Möglichkeit, einen Fehler durch den Programmcode zu behandeln.Ausnahmen werden mit den drei Schlüsselwörtern "try", "catch" und "throw" behandelt.
Konsequenzen
Wenn der Fehler erkannt wird, wird das Programm abnormal beendet.In Ausnahmefällen wird es ausgelöst und von den Schlüsselwörtern "throw" und "catch" entsprechend abgefangen.
Typen Fehler werden als ungeprüfter Typ klassifiziert.Ausnahmen werden als aktivierter oder deaktivierter Typ klassifiziert.
Paket In Java werden Fehler im Paket "java.lang.Error" definiert.In Java sind Ausnahmen in "java.lang.Exception" definiert.
BeispielOutOfMemory, StackOverFlow.Überprüfte Ausnahmen: NoSuchMethod, ClassNotFound.
Nicht aktivierte Ausnahmen: NullPointer, IndexOutOfBounds.


Definition von Fehler

ErrorIst eine Unterklasse der eingebauten Klasse "Throwable". Fehler sind die kritischen Bedingungen, die aufgrund des Mangels an Systemressourcen auftreten und die vom Programmcode nicht verarbeitet werden können. Fehler können auf keinen Fall behoben werden, da sie nicht erstellt, geworfen, abgefangen oder beantwortet werden können. Fehler werden durch einen katastrophalen Fehler verursacht, der normalerweise nicht von Ihrem Programm behoben werden kann.

Fehler sind immer ungeprüft, da der Compiler nichts über ihr Auftreten weiß. In der Laufzeitumgebung treten immer Fehler auf. Der Fehler kann anhand eines Beispiels erklärt werden. Das Programm weist einen Fehler aufgrund eines Stapelüberlaufs, eines Speichermangels oder eines Systemabsturzfehlers auf. Dieser Fehler ist systembedingt. Der Code ist nicht verantwortlich für solche Fehler. Das Auftreten des Fehlers hat zur Folge, dass das Programm abnormal beendet wird.


Definition der Ausnahme

"Exception" ist auch eine Unterklasse der eingebauten Klasse "Throwable". Ausnahmen sind die Ausnahmebedingungen, die in einer Laufzeitumgebung auftreten. In den meisten Fällen werden Ausnahmen durch den Code unseres Programms verursacht. Ausnahmen können jedoch vom Programm selbst behandelt werden, da Ausnahmen wiederhergestellt werden können. Ausnahmen werden mit den drei Schlüsselwörtern "try", "catch", "throw" behandelt. Die Syntax zum Schreiben einer Ausnahme lautet:

versuche {// schreibe deinen Code hier} Fang (Ausnahmetyp) {// schreibe deinen Code hier}

Im obigen Code ist der im try-Block geschriebene Code der Code, den Sie für die Ausnahme überwachen möchten. Wenn die Ausnahme in einem try-Block auftritt, wird sie mit dem Schlüsselwort "throw" ausgelöst. Die geworfene Ausnahme kann vom catch-Block des obigen Codes abgefangen werden. "Ausnahmetyp" ist der Typ der aufgetretenen Ausnahme.

In einfachen Worten können wir sagen, dass die Fehler, die aufgrund des falschen Codes aufgetreten sind, als Ausnahmen bezeichnet werden. Zum Beispiel, wenn eine angeforderte Klasse nicht gefunden wird oder eine angeforderte Methode nicht gefunden wird. Diese Ausnahmen sind auf den Code im Programm zurückzuführen. Das System ist für diese Art von Ausnahmen nicht verantwortlich. Die Ausnahmen werden als "markiert" und "nicht markiert" klassifiziert. Ungeprüfte Ausnahmen kennen den Compiler nicht, da sie zur Laufzeit auftreten, wohingegen der Compiler über die geprüften Ausnahmen verfügt, die dem Compiler während der Kompilierungszeit bekannt sind.

  1. Fehler treten nur auf, wenn Systemressourcen defekt sind, während eine Ausnahme verursacht wird, wenn ein Code ein Problem aufweist.
  2. Ein Fehler kann niemals wiederhergestellt werden, während eine Ausnahme wiederhergestellt werden kann, indem der Code für die Behandlung der Ausnahme vorbereitet wird.
  3. Ein Fehler kann niemals behandelt werden, aber eine Ausnahme kann vom Code behandelt werden, wenn der Code, der eine Ausnahme auslöst, in einen Try-and-Catch-Block geschrieben ist.
  4. Wenn ein Fehler aufgetreten ist, wird das Programm abnormal beendet. Wenn andererseits die Ausnahme auftritt, löst das Programm eine Ausnahme aus und diese wird mit dem try and catch-Block behandelt.
  5. Fehler sind vom ungeprüften Typ, d. H. Fehler sind den Compilern nicht bekannt, wohingegen eine Ausnahme als geprüft und nicht geprüft eingestuft wird.
  6. Fehler sind im Paket java.lang.Error definiert, während eine Ausnahme java.lang.Exception definiert ist.

Fazit:

Ausgenommen sind die Ergebnisse von Fehlern bei der Programmierung des Programms, und die Fehler sind die Folge der fehlerhaften Funktionsweise des Systems