Empfohlen, 2024

Tipp Der Redaktion

Unterschied zwischen Fehler und Ausnahme in Java

"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 mit dem Programmcode behandelt werden kann. Der wesentliche Unterschied zwischen Fehlern und Ausnahmen besteht darin, dass ein Fehler aufgrund fehlender Systemressourcen und eine Ausnahme aufgrund Ihres Codes verursacht wird. Lassen Sie uns andere Unterschiede zwischen Fehler und Ausnahme zusammen mit einer Vergleichstabelle untersuchen.

Vergleichstabelle

VergleichsgrundlageErrorAusnahme
BasicEin Fehler wird aufgrund fehlender Systemressourcen verursacht.Eine Ausnahme wird durch den Code verursacht.
WiederherstellungEin Fehler ist nicht wiederherstellbar.Eine Ausnahme ist wiederherstellbar.
SchlüsselwörterEs gibt keine Möglichkeit, einen Fehler durch den Programmcode zu behandeln.Ausnahmen werden mit drei Schlüsselwörtern "try", "catch" und "throw" behandelt.
Folgen
Wenn der Fehler erkannt wird, wird das Programm abnormal beendet.Wenn eine Ausnahme erkannt wird, wird sie entsprechend von den Schlüsselwörtern "werfen" und "fangen" geworfen.
TypenFehler werden als ungeprüfter Typ klassifiziert.Ausnahmen werden als geprüfter oder ungeprüfter Typ klassifiziert.
PaketIn Java werden Fehler als "java.lang.Error" -Paket definiert.In Java sind Ausnahmen in "java.lang.Exception" definiert.
BeispielOutOfMemory, StackOverFlow.Geprüfte Ausnahmen: NoSuchMethod, ClassNotFound.
Nicht geprüfte Ausnahmen: NullPointer, IndexOutOfBounds.

Definition des Fehlers

" Error " ist eine Unterklasse der eingebauten Klasse "Throwable". Fehler sind die kritischen Bedingungen, die aufgrund fehlender Systemressourcen auftreten, und können nicht mit dem Programmcode behandelt werden. 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 verarbeitet werden kann.

Fehler haben immer einen ungeprüften Typ, da der Compiler keine Kenntnis über dessen Vorkommen hat. Fehler treten immer in der Laufzeitumgebung auf. Der Fehler kann anhand eines Beispiels erklärt werden, das Programm hat einen Fehler des Stapelüberlaufs, einen Speicherfehler oder einen Systemabsturzfehler. Diese Art von Fehler sind systembedingt. Der Code ist nicht für solche Fehler verantwortlich. 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. Aber Ausnahmen können vom Programm selbst behandelt werden, da Ausnahmen wiederherstellbar sind. Ausnahmen werden mit drei Schlüsselwörtern "try", "catch", "throw" behandelt. Die Syntax für das Schreiben einer Ausnahme lautet:

 try {// Schreibe deinen Code hier} Catch (Ausnahmetyp) {// Schreibe deinen Code hier} 

Im obigen Code ist der in den 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 durch den fehlerhaften Code aufgetreten sind, Ausnahmen genannt werden. Zum Beispiel, wenn eine angeforderte Klasse nicht gefunden wird oder eine angeforderte Methode nicht gefunden wird. Solche 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 "geprüft" und "nicht geprüft" klassifiziert. Ungeprüfte Ausnahmen kennen den Compiler nicht, da sie zur Laufzeit auftreten, während der Compiler das Wissen über geprüfte Ausnahmen kennt, da sie dem Compiler während der Kompilierzeit bekannt sind.

Hauptunterschiede bei Fehler und Ausnahme

  1. Fehler treten nur auf, wenn die Systemressourcen fehlerhaft sind. Eine Ausnahme tritt auf, wenn ein Code ein Problem aufweist.
  2. Ein Fehler kann nie wiederhergestellt werden, während eine Ausnahme durch Vorbereiten des Codes zur Behandlung der Ausnahme behoben werden kann.
  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- und catch-Block geschrieben wird.
  4. Wenn ein Fehler aufgetreten ist, wird das Programm abnormal beendet. Wenn jedoch eine Ausnahme auftritt, löst das Programm eine Ausnahme aus und wird mit dem try- und catch-Block behandelt.
  5. Fehler sind nicht geprüft, dh Fehler sind dem Compiler nicht bekannt, während eine Ausnahme als geprüft und nicht geprüft klassifiziert wird.
  6. Fehler werden im Paket java.lang.Error definiert, während eine Ausnahme java.lang.Exception definiert wird.

Fazit:

Ausnahmen sind die Ergebnisse von Fehlern, die bei der Codierung des Programms gemacht wurden, und die Fehler sind das Ergebnis einer fehlerhaften Funktion des Systems

Top