- Ausnahmebehandlung
- Vorteil der Ausnahmebehandlung
- Hierarchie der Ausnahmeklassen
- Arten von Ausnahmen
- Ausnahmebeispiel
- Szenarien, in denen eine Ausnahme auftreten kann
Der Ausnahmebehandlung in Java ist einer der Mächtigen Mechanismus zur Behandlung von Laufzeitfehlern damit der normale Ablauf der Anwendung aufrechterhalten werden kann.
In diesem Tutorial lernen wir Java-Ausnahmen, ihre Typen und den Unterschied zwischen aktivierten und nicht aktivierten Ausnahmen kennen.
Nachteile des Internets
Was ist eine Ausnahme in Java?
Wörterbuchbedeutung: Eine Ausnahme ist ein abnormaler Zustand.
In Java ist eine Ausnahme ein Ereignis, das den normalen Programmablauf stört. Es handelt sich um ein Objekt, das zur Laufzeit geworfen wird.
Was ist Ausnahmebehandlung?
Die Ausnahmebehandlung ist ein Mechanismus zur Behandlung von Laufzeitfehlern wie ClassNotFoundException, IOException, SQLException, RemoteException usw.
Vorteil der Ausnahmebehandlung
Der Hauptvorteil der Ausnahmebehandlung ist um den normalen Ablauf der Anwendung aufrechtzuerhalten . Eine Ausnahme unterbricht normalerweise den normalen Ablauf der Anwendung; Deshalb müssen wir Ausnahmen behandeln. Betrachten wir ein Szenario:
statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10;
Angenommen, es gibt 10 Anweisungen in einem Java-Programm und bei Anweisung 5 tritt eine Ausnahme auf. Der Rest des Codes wird nicht ausgeführt, d. h. die Anweisungen 6 bis 10 werden nicht ausgeführt. Wenn wir jedoch eine Ausnahmebehandlung durchführen, werden die restlichen Anweisungen ausgeführt. Aus diesem Grund verwenden wir die Ausnahmebehandlung Java .
Wissen Sie?
|
Hierarchie der Java-Ausnahmeklassen
Die Klasse java.lang.Throwable ist die Stammklasse der Java-Ausnahmehierarchie, die von zwei Unterklassen geerbt wird: Exception und Error. Die Hierarchie der Java-Ausnahmeklassen ist unten angegeben:
Arten von Java-Ausnahmen
Es gibt hauptsächlich zwei Arten von Ausnahmen: aktivierte und nicht aktivierte. Ein Fehler wird als ungeprüfte Ausnahme betrachtet. Laut Oracle gibt es jedoch drei Arten von Ausnahmen:
- Geprüfte Ausnahme
- Ungeprüfte Ausnahme
- Fehler
Unterschied zwischen aktivierten und nicht aktivierten Ausnahmen
1) Geprüfte Ausnahme
Die Klassen, die die Throwable-Klasse direkt erben, mit Ausnahme von RuntimeException und Error, werden als geprüfte Ausnahmen bezeichnet. Zum Beispiel IOException, SQLException usw. Geprüfte Ausnahmen werden zur Kompilierungszeit überprüft.
2) Ungeprüfte Ausnahme
Die Klassen, die die RuntimeException erben, werden als ungeprüfte Ausnahmen bezeichnet. Zum Beispiel ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException usw. Ungeprüfte Ausnahmen werden nicht zur Kompilierungszeit, sondern zur Laufzeit geprüft.
3) Fehler
Der Fehler ist nicht behebbar. Einige Beispiele für Fehler sind OutOfMemoryError, VirtualMachineError, AssertionError usw.
Java-Ausnahmeschlüsselwörter
Java stellt fünf Schlüsselwörter zur Verfügung, die zur Behandlung der Ausnahme verwendet werden. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.
Stichwort | Beschreibung |
---|---|
versuchen | Das Schlüsselwort „try“ wird verwendet, um einen Block anzugeben, in dem wir einen Ausnahmecode platzieren sollen. Das bedeutet, dass wir den Try-Block nicht alleine verwenden können. Auf den Try-Block muss entweder Catch oder Final folgen. |
fangen | Der „catch“-Block wird zur Behandlung der Ausnahme verwendet. Ihm muss ein Try-Block vorangestellt werden, was bedeutet, dass wir den Catch-Block nicht allein verwenden können. Es kann später ein „finally“-Block folgen. |
Endlich | Der „finally“-Block wird verwendet, um den notwendigen Code des Programms auszuführen. Die Ausführung erfolgt unabhängig davon, ob eine Ausnahme behandelt wird oder nicht. |
werfen | Das Schlüsselwort „throw“ wird verwendet, um eine Ausnahme auszulösen. |
wirft | Das Schlüsselwort „throws“ wird zum Deklarieren von Ausnahmen verwendet. Es gibt an, dass in der Methode möglicherweise eine Ausnahme auftritt. Es wird keine Ausnahme ausgelöst. Es wird immer mit Methodensignatur verwendet. |
Beispiel für die Java-Ausnahmebehandlung
Sehen wir uns ein Beispiel für die Java-Ausnahmebehandlung an, bei dem wir eine Try-Catch-Anweisung verwenden, um die Ausnahme zu behandeln.
JavaExceptionExample.java
public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } }Testen Sie es jetzt
Ausgabe:
Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
Im obigen Beispiel löst 100/0 eine ArithmeticException aus, die von einem Try-Catch-Block behandelt wird.
Häufige Szenarien von Java-Ausnahmen
Es gibt einige Szenarien, in denen ungeprüfte Ausnahmen auftreten können. Sie sind wie folgt:
1) Ein Szenario, in dem ArithmeticException auftritt
Wenn wir eine beliebige Zahl durch Null dividieren, tritt eine ArithmeticException auf.
int a=50/0;//ArithmeticException
2) Ein Szenario, in dem eine NullPointerException auftritt
Wenn wir in irgendeinem einen Nullwert haben Variable Wenn Sie eine beliebige Operation an der Variablen ausführen, wird eine NullPointerException ausgelöst.
String s=null; System.out.println(s.length());//NullPointerException
3) Ein Szenario, in dem NumberFormatException auftritt
Wenn die Formatierung einer Variablen oder Zahl nicht übereinstimmt, kann dies zu einer NumberFormatException führen. Angenommen, wir haben eine Zeichenfolge Variable, die Zeichen enthält; Das Konvertieren dieser Variablen in eine Ziffer führt zu einer NumberFormatException.
String s='abc'; int i=Integer.parseInt(s);//NumberFormatException
4) Ein Szenario, in dem eine ArrayIndexOutOfBoundsException auftritt
Wenn ein Array seine Größe überschreitet, tritt die ArrayIndexOutOfBoundsException auf. Es kann andere Gründe für das Auftreten einer ArrayIndexOutOfBoundsException geben. Betrachten Sie die folgenden Aussagen.
int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException
Java-Ausnahmeindex
- Java Try-Catch-Block
- Java Multiple Catch Block
- Java Nested Try
- Java endlich blockieren
- Java Throw-Schlüsselwort
- Weitergabe von Java-Ausnahmen
- Java wirft Schlüsselwort aus
- Java-Wurf gegen Würfe
- Java Final vs. Final vs. Finalize
- Java-Ausnahmebehandlung mit Methodenüberschreibung
- Benutzerdefinierte Java-Ausnahmen