3 Stimmen

Was ist der Unterschied zwischen Throws Throwable und Throws Exception

Gibt es bei diesen beiden einen Unterschied?

4voto

Hendrik Brummermann Punkte 8012

Ausnahmen gelten für Fehler in der Programmlogik. Fehler werden von der JVM verwendet, um zu signalisieren, dass etwas mit der Umgebung nicht stimmt, z. B. ein OutOfMemoryError oder IncompatibleClassChangeError. ThreadDeath wird verwendet, um Threads zu beenden. Throwable ist eine Superklasse über all diesen Klassen.

In der normalen Programmlogik sollten Sie niemals Throwables oder Fehler werfen oder abfangen. Der Hauptgrund, den ich mir für das Abfangen eines Fehlers vorstellen kann, ist folgender: Sie verwenden Ihr eigenes Klassenladesystem und wollen fehlerhafte Plugins isolieren.

In der JavaDoc für ThreadDeath steht zum Beispiel:

Eine Anwendung sollte Instanzen dieser Klasse nur abfangen, wenn sie nach einer asynchronen Beendigung aufräumen muss. Wenn ThreadDeath von einer Methode abgefangen wird, ist es wichtig, dass sie zurückgeworfen wird, damit der Thread tatsächlich stirbt.

3voto

Christina Punkte 3324

Die Throwable-Klasse wird sowohl von der Exception- als auch von der Error-Klasse erweitert. Wenn Sie also Throwable verwenden, sagen Sie damit, dass Ihre Methode nicht nur eine Exception, sondern auch einen Error auslösen kann. Der Unterschied zwischen den beiden Klassen ist laut Dokumentation, dass Exceptions

Bedingungen, die eine vernünftige Anwendung erfassen sollte

während Fehler anzeigen

schwerwiegende Probleme, die eine vernünftige Anwendung nicht auffangen sollte

Véase aquí für weitere Einzelheiten.

1voto

Nishant Punkte 51997

Throwable Java Doc

Die Klasse Throwable ist die Oberklasse aller Fehler und Ausnahmen in der Sprache Java. Nur Objekte, die Instanzen dieser Klasse (oder einer ihrer Unterklassen) sind, werden von der Java Virtual Machine ausgelöst oder können mit der Java throw-Anweisung ausgelöst werden. Ebenso kann nur diese Klasse oder eine ihrer Unterklassen der Argumenttyp in einer catch-Klausel sein.

Instanzen von zwei Unterklassen, Error und Exception, werden üblicherweise verwendet, um anzuzeigen, dass Ausnahmesituationen aufgetreten sind. In der Regel werden diese Instanzen im Kontext der Ausnahmesituation neu erstellt, um relevante Informationen (z. B. Stack-Trace-Daten) einzubeziehen.

Exception Java Doc

Die Klasse Exception und ihre Unterklassen sind eine Form von Throwable, die Bedingungen angibt, die eine vernünftige Anwendung abfangen möchte.

Bitte lesen Sie das Dokument, es erklärt.

1voto

jmj Punkte 232204

Dies ist die Hierarchie

java.lang.Object
  java.lang.Throwable
      java.lang.Exception

0voto

Tommy Siu Punkte 1225

Ein Throwable kann ein Error oder eine Exception sein.

Aus dem Java-Dokument:

Eine Error ist eine Unterklasse von Throwable, die ernste Probleme anzeigt, die eine vernünftige Anwendung sollte nicht versuchen, die . Die meisten dieser Fehler sind anormale Bedingungen.

Die Klasse Exception und seine Unterklassen sind eine Form von Throwable, die Bedingungen angeben, die eine vernünftige Anwendung könnte Folgendes abfangen wollen .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X