English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ist es in Java möglich, dass nur ein Catch-Block mehrere Try-Blöcke hat?

Eine Ausnahme ist ein Problem, das während der Ausführung des Programms auftritt (Laufzeitfehler). Wenn eine Ausnahme auftritt, wird das Programm plötzlich beendet und der Code nach der Ausnahmezeile wird niemals ausgeführt.

Beispiel

import java.util.Scanner;
public class ExceptionExample {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie die erste Zahl ein: ");
      int a = sc.nextInt();
      System.out.println("Geben Sie die zweite Zahl ein: ");
      int b = sc.nextInt();
      int c = a/b;
      System.out.println("Das Ergebnis ist: "+c);
   }
}

Ausgaberesultat

Geben Sie die erste Zahl ein:
100
Geben Sie die zweite Zahl ein:
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ExceptionExample.main(ExceptionExample.java:10)

Mehrere try-Blöcke:

Man kann mehrere try-Blöcke nicht mit einem einzigen catch-Block verwenden. Jeder try-Block muss unmittelbar nach einem catch oder am Ende folgen. Wenn man jedoch versucht, einen einzigen catch-Block für mehrere try-Blöcke zu verwenden, wird ein Kompilierungszeit-Fehler generiert.

Beispiel

Der folgende Java-Programmversuch verwendet einen einzigen catch-Block für mehrere try-Blöcke.

class ExceptionExample{
   public static void main(String args[]) {
      int a, b;
      try {
         a = Integer.parseInt(args[0]);
         b = Integer.parseInt(args[1]);
      }
      try {
         int c = a/b;
         System.out.println(c);
      } catch (Exception ex) {
         System.out.println("Bitte die Args beim Ausführen des Programms übergeben");
      }
   }
}

Kompilierungszeit-Fehler

ExceptionExample.java:4: Fehler: 'try' ohne 'catch', 'finally' oder Ressourcen-Deklarationen
   try {
   ^
1 Fehler
Vielleicht gefällt Ihnen das