Java Throwable vs. Ausnahmeklasse
-
Einführung in die
Throwable-Klasse in Java -
Einführung in die Klasse
Exceptionin Java -
Welche Klasse sollen wir verwenden,
ThrowableoderException
Dieser Artikel wird uns beibringen, wann die Klassen Throwable und Exception in Java zu verwenden sind. Beide Klassen haben ihre Konstruktoren und Methoden, um Fehler und Ausnahmen zu behandeln.
Zuerst werden wir die Einführung von Throwable und Exception beider Klassen sehen, und danach werden wir den Unterschied zwischen beiden lernen.
Einführung in die Throwable-Klasse in Java
In der Hierarchie der Klassen java.lang ist die Klasse Throwable die Eltern- oder Oberklasse der Klassen Error und Exception. Das bedeutet, dass Error und Exception von der Throwable-Klasse in Java geerbt werden.
Es kommt zu dem Schluss, dass die Klasse Throwable alle Fehler und Ausnahmen abfangen kann, die von der Java Virtual Machine erzeugt werden, entweder Stack-Trace-Fehler oder Kompilierungs- oder Laufzeitausnahmen.
Darüber hinaus implementiert die Klasse Throwable die Schnittstelle Serializable in der Bibliothek java.lang, wo sie definiert ist.
Benutzer können die Definition der Klasse Throwable unten sehen.
public class Throwable extends Object implements Serializable
In der obigen Klassendefinition können Benutzer sehen, dass die Klasse Throwable die Klasse Object erbt und die Schnittstelle Serializable implementiert.
Syntax von Throwable:
try {
// some code
} catch (Throwable e) {
// handle errors or exceptions
}
Die Klasse Throwable enthält die überladenen Konstruktoren, die im Folgenden erklärt werden.
Konstrukteure
Throwable() |
Dieser Konstruktor erstellt eine neue Instanz von Throwable mit einer Standardfehlermeldung. |
Throwable(String errorMessage) |
Dieser Konstruktor erstellt eine neue Instanz von Throwable mit einer errorMessage-Meldung. |
Throwable(String errorMessage, Throwable errorCause) |
Dieser Konstruktor übernimmt auch die Ursache der Fehlermeldung und erstellt eine neue Instanz von Throwable mit errorMessage und errorCause. |
Throwable(Throwable errorUrsache) |
Dieser Konstruktor erstellt die neue Instanz von Throwable mit einer bestimmten Ursache, die als Parameter übergeben wird. |
Methoden
Hier haben wir einige Methoden der Klasse Throwable erklärt.
toString() |
Es gibt die Beschreibung des Fehlers im String-Format zurück. |
getMessage() |
Es gibt die Fehlermeldung im String-Format zurück. |
getCause() |
Es gibt die Ursache der aktuellen Instanz eines Throwable zurück. |
getLocalizedMessage() |
Es gibt die lokalisierte Beschreibung von Throwable zurück. |
getStackTrace() |
Es liefert Informationen über den Stack-Trace. |
printStackTrace() |
Es druckt die aktuelle Instanz von Throwable. |
setStackTrace(StackTraceElement[] stackTrace) |
Es ermöglicht die Einstellung des Stack-Trace-Elements, das von der Methode getStackTrace() zurückgegeben wird. |
initCause(Throwable cause) |
Es ermöglicht Benutzern, die Ursache des aktuellen Throwable zu initialisieren. |
Fehler
Die Klasse Errors enthält Fehler, die die Ausführung des Programms stoppen.
StackOverflowError |
Es tritt auf, wenn ein Stack- oder Heap-Überlauf auftritt. |
AssertionError |
Dies geschieht aufgrund eines Behauptungsfehlers. |
VirtualMachineError |
Es speichert alle Fehler in der Java Virtual Machine. |
LinkageError |
Es tritt aufgrund eines Verknüpfungsproblems auf. |
OutOfMemoryError |
Es tritt auf, weil auf Ihrem Gerät wenig Arbeitsspeicher vorhanden ist oder die JVM nicht mehr genügend Arbeitsspeicher hat. |
Einführung in die Klasse Exception in Java
Ausnahmen sind in Java unerwünschte Ereignisse, die zur Laufzeit oder Kompilierzeit auftreten. Die Ausnahmen können zur Kompilierzeit abgefangen werden, die als geprüfte Ausnahmen bezeichnet werden, und Ausnahmen können nur zur Laufzeit abgefangen werden, die als ungeprüfte Ausnahmen bezeichnet werden.
Syntax von Throwable:
try {
// some code
} catch (Exception e) {
// handle Exceptions only
}
Hier haben wir einige Arten von Ausnahmen in Java definiert.
RuntimeException |
Alle Klassen ungeprüfter Ausnahmen erben es. |
NullPointerException |
Es tritt aufgrund eines Null- oder undefinierten Werts auf. |
ArithmeticException |
Es tritt aufgrund des Fehlschlagens einer arithmetischen Operation auf. |
ArrayIndexOutOfBoundsException |
Es tritt auf, wenn wir versuchen, auf einen Array-Index zuzugreifen, der größer als seine Länge ist. |
NoSuchMethodException |
Es tritt auf, wenn die Methode nicht definiert ist. |
IOException |
Es tritt aufgrund des Ausfalls von Eingabe-/Ausgabevorgängen auf. |
ClassNotFoundException |
Es tritt auf, wenn die Klasse nicht definiert ist. |
SQLException |
Der Ausfall des Datenbankbetriebs ist die Ursache dieser Ausnahme. |
Programmierer können auch Ausnahmen definieren, indem sie die Klasse Exception von Java erben.
Welche Klasse sollen wir verwenden, Throwable oder Exception
Wenn wir uns die Syntax der Klassen Throwable und Exception ansehen, sieht es auf den ersten Blick ähnlich aus, da wir beide mit dem try-catch-Block verwenden.
Die Instanz der Klasse Throwable kann die Fehler und Ausnahmen abfangen, da sie eine Unterklasse von Throwable sind, aber die Instanz von Exceptions kann nur die Ausnahmen abfangen, die im Programm auftreten.
In normalen Java-Anwendungen treten selten Fehler wie LinkageError, VirtualMachineError, OutOfMemoryError usw. auf. Die Ausnahme tritt hauptsächlich aufgrund des Fehlers des Benutzers auf.
Daher ist es eine bewährte Methode, die Instanz der Klasse Exception anstelle der Klasse Throwable zu verwenden.
Verwandter Artikel - Java Exception
- Ausnahme bei ungültiger Eingabe in Java
- Ausnahme im Hauptthread Java.Util.NoSuchElementException: Keine Zeile gefunden
- Ausnahme im Thread AWT-EventQueue-0 java.lang.NullPointerException
- Beheben Sie die Java.Net.BindException: Adresse wird bereits verwendet: Bind
- Der Java-Gateway-Prozess wurde beendet, bevor seine Portnummer gesendet wurde
