Java Throwable vs. Ausnahmeklasse
-
Einführung in die
Throwable
-Klasse in Java -
Einführung in die Klasse
Exception
in Java -
Welche Klasse sollen wir verwenden,
Throwable
oderException
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