Unbehandelte Ausnahmen in Java

Mohammad Irfan 12 Oktober 2023
  1. Unbehandelte Ausnahme in Java
  2. Behandelte Ausnahme in Java
Unbehandelte Ausnahmen in Java

In diesem Tutorial wird eingeführt, was eine unbehandelte Ausnahme ist und wie sie in Java behandelt wird.

Eine Ausnahme ist eine Bedingung, die eine Codeausführung abnormal stoppt und zur Beendigung des Codes führt.

In Java können Ausnahmen entweder durch fehlerhaften Code oder Systemfehler auftreten, beispielsweise durch Speicherprobleme. Java bietet vollständige Unterstützung für die Behandlung der Ausnahmen, damit der Code reibungslos ohne Abbruch ausgeführt werden kann und das gewünschte Ergebnis liefert.

Eine nicht behandelte Ausnahme wird als unbehandelte Ausnahme bezeichnet und führt zum Beenden des Codes vor seiner Ausführung.

In diesem Artikel werden wir diskutieren, was eine unbehandelte Ausnahme ist und wie sie behandelt wird. Lassen Sie uns mit einigen Beispielen verstehen.

Unbehandelte Ausnahme in Java

Wir nehmen in diesem Beispiel zwei ganzzahlige Werte von einem Benutzer und teilen sie. Dieser Code funktioniert ohne Fehler oder Ausnahmen einwandfrei, aber Java führt den Code nicht aus und löst eine Ausnahme aus, wenn der Divisor null ist.

Da wir hier keinen Ausnahmehandler verwendet haben, stoppt der Code die Ausführung und wird abnormal beendet. Wir können die Konsole sehen, um den Grund für die Ausnahme zu verstehen.

Diese Ausnahme wird nicht behandelt, und wir können sehen, wie gefährlich sie sein kann, wenn sie nicht richtig behandelt wird.

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter any two values");

    int val1 = sc.nextInt();
    int val2 = sc.nextInt();
    double result = val1 / val2;
    System.out.println("result " + result); // this statement does not execute
  }
}

Ausgabe:

Enter any two values
30
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at myproject.SimpleTesting.main(SimpleTesting.java:13)

Behandelte Ausnahme in Java

Hier verwenden wir einen Handler (try-catch-Block), um die Ausnahme zu behandeln. Dieser Code ähnelt dem obigen Code, hat jedoch den try-catch-Block und lässt den Code auch nach der Ausnahme ausführen.

Beachten Sie die letzte print-Anweisung des Codes. Im obigen Code wird diese Anweisung aufgrund einer Ausnahme nicht ausgeführt.

Es wird jedoch auch nach dem Erhalten einer Ausnahme im folgenden Code ausgeführt, da der Code jetzt nicht beendet wird. Außerdem überspringt es den Code und beginnt mit der Ausführung, indem das Ergebnis an die Konsole ausgegeben wird.

Siehe das Beispiel unten.

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    double result = 0.0;
    try {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter any two values");

      int val1 = sc.nextInt();
      int val2 = sc.nextInt();
      result = val1 / val2;
    } catch (Exception e) {
      System.out.println("Exception occured " + e);
    }
    System.out.println("result " + result);
  }
}

Ausgabe:

Enter any two values
30
0
Exception occured java.lang.ArithmeticException: / by zero
result 0.0

Verwandter Artikel - Java Exception