Zuletzt aktualisiert am August 29, 2020 von Scientech Easy
In diesem Tutorial lernen wir Ausnahmehierarchie in Java mit Diagrammen und kurzen Beschreibungen.
Im vorherigen Tutorial haben wir grundlegende Punkte der Ausnahmebehandlung in Java erklärt, Ausnahmebehandler mit Echtzeit-Beispielen. Ich werde empfehlen, dass Sie zuerst die grundlegenden Punkte vertraut machen.,
Types of Exceptions in Java
Basically, there are two types of exceptions in java API. They are:
1. Predefined Exceptions (Built-in-Exceptions)
2. Custom Exceptions
Predefined Exceptions:
Predefined exceptions are those exceptions that are already defined by Java system. These exceptions are also called built-in-exceptions.
Java API supports exception handling by providing the number of predefined exceptions. These predefined exceptions are represented by classes in java.,
Wenn eine vordefinierte Ausnahme auftritt, erstellt JVM (Java Runtime system) ein Objekt der vordefinierten Ausnahmeklasse. Alle Ausnahmen werden von Java abgeleitet.lang.Throwable Klasse aber nicht alle Ausnahmeklassen sind im selben Paket definiert.
Alle von Java unterstützten vordefinierten Ausnahmen sind als Unterklassen in einer Hierarchie unter der Throwable Klasse organisiert.
Die Throwable-Klasse ist die Wurzel der Ausnahmehierarchie und eine unmittelbare Unterklasse der Objektklasse. Schauen wir uns die Java-Ausnahmehierarchie an, wie in der folgenden Abbildung gezeigt.
1., Throwable-Klasse: Wie in der obigen Abbildung gezeigt, ist die Throwable-Klasse, die von der Object-Klasse abgeleitet ist, eine Spitze der Ausnahmehierarchie, von der alle Ausnahmeklassen direkt oder indirekt abgeleitet sind. Es ist die Wurzel aller Ausnahmeklassen. Es ist in java.lang-Paket.
Throwable class ist die Oberklasse aller Ausnahmen in Java. Diese Klasse hat zwei Unterklassen Error und Exception. Fehler oder Ausnahmen, die in Java-Programmen auftreten, sind Objekte dieser Klassen. Mit der Throwable-Klasse können Sie auch eigene benutzerdefinierte Ausnahmen erstellen.
2., Fehler: Die Fehlerklasse ist die Unterklasse der Throwable-Klasse und eine Oberklasse aller Laufzeitfehlerklassen. Es beendet das Programm, wenn es Probleme mit einem System oder Ressourcen (JVM) gibt.
Ein Fehler stellt im Allgemeinen ein ungewöhnliches Problem oder eine Situation dar, von der es schwierig ist, sich zu erholen. Es tritt nicht durch Programmierfehler auf. Dies tritt im Allgemeinen auf, wenn das System nicht ordnungsgemäß funktioniert oder die Ressource nicht ordnungsgemäß zugewiesen ist.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError, etc. sind Beispiele für Fehler., Wir werden mehr Details in weiteren Tutorials erfahren.
3. Ausnahme: Es wird durch eine Ausnahmeklasse dargestellt, die Fehler darstellt, die durch das Programm und durch externe Faktoren verursacht werden. Exception class ist eine Unterklasse der Throwable-Klasse und eine Oberklasse aller Exception-Klassen. Alle Ausnahmeklassen werden direkt oder indirekt von der Ausnahmeklasse abgeleitet. Sie stammen im Allgemeinen aus der Anwendung.,
Die Ausnahmeklasse stellt zwei Konstruktoren bereit:
- public Exception() (Standardkonstruktor)
- public Exception(String message) (Es wird eine Nachricht als Argument verwendet)
Jede der Ausnahmeklassen bietet zwei Konstruktoren: einen ohne Argument und einen anderen mit einem Argument vom Typ String. Exception-Klasse bietet keine eigene Methode. Es erbt alle von der Throwable Klasse bereitgestellten Methoden.,
Ausnahmeklassenhierarchie in Java
Die Hierarchie der Ausnahmeklasse in Java wurde in der folgenden Abbildung gezeigt, die für einen Interviewzweck sehr wichtig ist.
Benutzerdefinierte Ausnahmen:
Benutzerdefinierte Ausnahmen sind Ausnahmen, die von Benutzern oder Programmierern nach ihren eigenen Bedürfnissen erstellt werden. Die benutzerdefinierten Ausnahmen werden auch als benutzerdefinierte Ausnahmen bezeichnet, die durch Erweiterung der Ausnahmeklasse erstellt werden.,
So bietet Java Programmierern die Freiheit, Ausnahmen auszulösen und zu behandeln, während sie sich mit funktionalen Anforderungen an Probleme befassen, die sie lösen. Wir werden in weiteren Tutorials ausführlicher über benutzerdefinierte Ausnahmen diskutieren.
Sehen wir uns die kurze Beschreibung jeder Unterklasse der Ausnahmeklasse an.
RuntimeException-Klasse (Unchecked Exceptions)
RuntimeException-Klasse ist eine Unterklasse der Exception-Klasse. Es wird von JVM oder programmgesteuert ausgelöst, wenn eine im Programm ausgeführte arithmetische Operation falsch ist oder ein Fehler im Programmcode auftritt.,
RuntimeException und alle seine Ausnahmesubklassen werden vom Java-Compiler nicht überprüft, da sie zur Laufzeit eines Programms auftreten. Deshalb werden diese Ausnahmen auch als ungeprüfte Ausnahmen bezeichnet.
RuntimeException Klasse besteht aus vielen anderen Ausnahme Unterklassen, die verwendet werden, um einen bestimmten Typ von Ausnahme zu behandeln. Abgesehen von diesen Ausnahmesubklassen der RuntimeException-Klasse, die in der obigen Abbildung gezeigt werden, gibt es auch andere Unterklassen der RuntimeException-Klasse, die im Hierarchiestrukturdiagramm nicht angezeigt wurden, um Komplexität zu vermeiden.,
Lassen Sie uns eine kurze Beschreibung von ihnen sehen.
1. ArithmeticException: Diese Ausnahme wird ausgelöst, wenn arithmetische Probleme auftreten, z. B. wenn eine Zahl durch Null geteilt wird. Das heißt, es wird durch Mathematikfehler verursacht.
2. ClassCastException: Die ClassCastException ist eine Laufzeitausnahme, die von JVM ausgelöst wird, wenn versucht wird, das Typcasting im Programm zu deaktivieren. Das heißt, es wird ausgelöst, wenn wir ein Objekt in eine Unterklasse umwandeln, von der ein Objekt keine Instanz ist.
3., IllegalArgumentException: Diese Laufzeitausnahme wird programmgesteuert ausgelöst, wenn ein illegales oder geeignetes Argument zum Aufrufen einer Methode übergeben wird. Diese Ausnahmeklasse hat zwei weitere Unterklassen:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException wird programmgesteuert ausgelöst, wenn wir versuchen, eine Zeichenfolge in den numerischen Typ zu konvertieren, und der Prozess der illegalen Konvertierung schlägt fehl. Das heißt, es tritt aufgrund der illegalen Konvertierung einer Zeichenfolge in ein numerisches Format auf.,
IllegalThreadStateException: Die IllegalThreadStateException-Ausnahme ist eine Laufzeitausnahme, die programmgesteuert ausgelöst wird, wenn wir versuchen, eine Operation in einem Thread auszuführen, die jedoch nicht mit dem aktuellen Thread-Status kompatibel ist.
4. IndexOutOfBoundsException: Diese Ausnahmeklasse wird von JVM ausgelöst, wenn ein Array oder eine Zeichenfolge den angegebenen Index verlässt., It has two further subclasses:
- ArrayIndexOutOfBoundsException
- StringIndexOutOfBoundsException
ArrayIndexOutOfBoundsException: ArrayIndexOutOfBoundsException exception is thrown when an array element is accessed out of the index.
StringIndexOutOfBoundsException: StringIndexOutOfBoundsException exception is thrown when a String or StringBuffer element is accessed out of the index.
5., NullPointerException: NullPointerException ist eine Laufzeitausnahme, die von JVM ausgelöst wird, wenn wir versuchen, null anstelle eines Objekts zu verwenden. Das heißt, es wird ausgelöst, wenn die Referenz null ist.
6. ArrayStoreException: Diese Ausnahme tritt auf, wenn wir versuchen, einen Wert in einem Array zu speichern, das nicht vom Array-Typ ist. Angenommen, ein Array ist vom ganzzahligen Typ, aber wir versuchen, einen Wert eines Elements eines anderen Typs zu speichern.
7., IllegalStateException: Die IllegalStateException-Ausnahme wird programmgesteuert ausgelöst, wenn sich die Laufzeitumgebung nicht in einem geeigneten Status zum Aufrufen einer Methode befindet.
8. IllegalMonitorStateException: Diese Ausnahme wird ausgelöst, wenn ein Thread nicht das Recht hat, ein Objekt zu überwachen, und versucht, auf die Methoden wait (), notify () und notifyAll() des Objekts zuzugreifen.
9. NegativeArraySizeException: Die NegativeArraySizeException Ausnahme wird ausgelöst, wenn ein Array mit einer negativen Größe erstellt wird.,
Liste der geprüften Ausnahmen in Java
Nun haben wir die geprüften Ausnahmen in einer kurzen Beschreibung aufgelistet.
1. ClassNotFoundException: Die ClassNotFoundException ist eine Art überprüfte Ausnahme, die ausgelöst wird, wenn wir versuchen, eine Klasse zu verwenden, die nicht existiert.
Geprüfte Ausnahmen sind die Ausnahmen, die vom Java-Compiler selbst überprüft werden.
2. FileNotFoundException: Die FileNotFoundException ist eine geprüfte Ausnahme, die ausgelöst wird, wenn wir versuchen, auf eine nicht vorhandene Datei zuzugreifen.
3., InterruptedException: InterruptedException ist eine geprüfte Ausnahme, die ausgelöst wird, wenn sich ein Thread im Ruhezustand oder Wartezustand befindet und ein anderer Thread versucht, ihn zu unterbrechen.
4. InstanziationException: Diese Ausnahme ist auch eine geprüfte Ausnahme, die ausgelöst wird, wenn wir versuchen, ein Objekt der abstrakten Klasse oder Schnittstelle zu erstellen. Das heißt, die Ausnahme InstanziationException tritt auf, wenn eine abstrakte Klasse oder Schnittstelle instanziiert wird.
5., IllegalAccessException: Die IllegalAccessException ist eine geprüfte Ausnahme und wird ausgelöst, wenn eine Methode in einer anderen Methode oder Klasse aufgerufen wird, die aufrufende Methode oder Klasse jedoch keine Berechtigung zum Zugriff auf diese Methode hat.
6. CloneNotSupportedException: Diese überprüfte Ausnahme wird ausgelöst, wenn wir versuchen, ein Objekt zu klonen, ohne die Cloneable-Schnittstelle zu implementieren.
7. NoSuchFieldException: Dies ist eine geprüfte Ausnahme, die ausgelöst wird, wenn eine unbekannte Variable in einem Programm verwendet wird.
8., NoSuchMethodException: Diese geprüfte Ausnahme wird ausgelöst, wenn die undefinierte Methode in einem Programm verwendet wird.
Hoffe, dass dieses Tutorial fast alle grundlegenden Punkte in Bezug auf die Ausnahmehierarchie in Java abgedeckt hat. Ich hoffe, dass Sie die grundlegenden Punkte der Throwable-Klasse und ihrer Unterklassen verstanden haben: Ausnahme und Fehler.
wichtige Punkte zu Erinnern:
- Zwei Arten von Ausnahmen in Java: Vordefinierte und Benutzerdefinierte Ausnahmen.
- Die Stammklasse für alle Ausnahmen in der Hierarchie der Ausnahmeklassen ist Java.lang.Throwable.,
- Exception classes are mainly divided into three types: system errors, exceptions, and runtime exceptions.
- System errors are represented by Error class and thrown by JVM.
- Exceptions are represented by Exception classes that describe errors in your program.
Thanks for reading!!!
Next ⇒ Checked and Unchecked Exception in Java⇐ PrevNext ⇒