logo

Ausnahmebehandlung in Java

  1. Ausnahmebehandlung
  2. Vorteil der Ausnahmebehandlung
  3. Hierarchie der Ausnahmeklassen
  4. Arten von Ausnahmen
  5. Ausnahmebeispiel
  6. 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?
  • Was ist der Unterschied zwischen aktivierten und nicht aktivierten Ausnahmen?
  • Was passiert hinter dem Code int data=50/0;?
  • Warum mehrere Catch-Blöcke verwenden?
  • Gibt es eine Möglichkeit, wenn der „finally“-Block nicht ausgeführt wird?
  • Was ist Ausnahmeweitergabe?
  • Was ist der Unterschied zwischen dem Schlüsselwort throw und throws?
  • Welche vier Regeln gelten für die Ausnahmebehandlung mit Methodenüberschreibung?

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:

Hierarchie der Ausnahmebehandlung

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:

  1. Geprüfte Ausnahme
  2. Ungeprüfte Ausnahme
  3. Fehler
Hierarchie der Ausnahmebehandlung

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.

StichwortBeschreibung
versuchenDas 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.
fangenDer „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.
EndlichDer „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.
werfenDas Schlüsselwort „throw“ wird verwendet, um eine Ausnahme auszulösen.
wirftDas 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

  1. Java Try-Catch-Block
  2. Java Multiple Catch Block
  3. Java Nested Try
  4. Java endlich blockieren
  5. Java Throw-Schlüsselwort
  6. Weitergabe von Java-Ausnahmen
  7. Java wirft Schlüsselwort aus
  8. Java-Wurf gegen Würfe
  9. Java Final vs. Final vs. Finalize
  10. Java-Ausnahmebehandlung mit Methodenüberschreibung
  11. Benutzerdefinierte Java-Ausnahmen