Menu
CoddyTech

Try-Catch-Grundlagen

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy. Lektion 40 von 59.

Try-Catch-Blöcke in Java werden verwendet, um Ausnahmen (Fehler) zu behandeln, die während der Programmausführung auftreten können. Der Code, der eine Ausnahme auslösen könnte, gehört in den Try-Block, und der Code zur Fehlerbehandlung gehört in den Catch-Block.

Hier ist die grundlegende Struktur eines Try-Catch-Blocks:

try {
   // Code, der eine Ausnahme auslösen könnte
} catch (ExceptionType e) {
   // Code zur Behandlung der Ausnahme
}

Sehen wir es mit Integer.parseInt() in Aktion: Diese Methode wandelt einen String in eine Ganzzahl um:

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

Nach der Ausführung des obigen Codes lautet die Ausgabe:

Error: Not a valid number

Auf ein einzelnes try können mehrere catch-Blöcke folgen, einer pro Ausnahmetyp. Java führt den ersten Block aus, dessen Typ mit der ausgelösten Ausnahme übereinstimmt:

try {
   int number = Integer.parseInt(text);
   System.out.println(10 / number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
} catch (ArithmeticException e) {
   System.out.println("Error: Division by zero");
}
challenge icon

Aufgabe

Einfach

Erstelle eine Methode namens divideNumbers, die drei Argumente entgegennimmt:

  1. Ein String (num1), der die erste Zahl darstellt
  2. Ein String (num2), der die zweite Zahl darstellt
  3. Eine Ganzzahl (index), die einen Array-Index darstellt

Die Methode sollte:

  1. Ein Array der Größe 2 erstellen
  2. Den Wert der geparsten Ganzzahl von num1 geteilt durch den Wert der geparsten Ganzzahl von num2 am angegebenen Index speichern
  3. Den Wert am angegebenen Index zurückgeben
  4. Alle möglichen Ausnahmen behandeln und stattdessen die entsprechende Fehlermeldung zurückgeben

Die Rückgabemeldungen sollten lauten:

  • Für NumberFormatException: "Error: Invalid number format"
  • Für ArithmeticException: "Error: Division by zero"
  • Für ArrayIndexOutOfBoundsException: "Error: Invalid array index"
  • Bei erfolgreicher Ausführung: das Ergebnis als String zurückgeben

Probier es selbst

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // Schreibe deinen Code hier
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num1 = scanner.nextLine();
        String num2 = scanner.nextLine();
        int index = Integer.parseInt(scanner.nextLine());
        
        System.out.println(divideNumbers(num1, num2, index));
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Java-Compiler