Gibt es bei diesen beiden einen Unterschied?
Antworten
Zu viele Anzeigen?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.
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.
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.
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.
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 .
- See previous answers
- Weitere Antworten anzeigen