Menu
Coddy logo textTech

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 Exceptions (Fehler) zu behandeln, die während der Programmausführung auftreten können. Der Code, der eine Exception auslösen könnte, steht im try-Block, und der Code zur Fehlerbehandlung steht im catch-Block.

Hier ist die Grundstruktur eines try-catch-Blocks:

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

Sehen wir es uns in Aktion mit Integer.parseInt() an, das einen String in eine Ganzzahl umwandelt:

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 Ausführung des obigen Codes lautet die Ausgabe:

Error: Not a valid number

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens divideNumbers, die drei Argumente entgegennimmt:

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

Die Methode sollte:

  1. Ein Array der Größe 2 erstellen
  2. Den in einen Integer umgewandelten Wert von num1 geteilt durch den in einen Integer umgewandelten Wert von num2 an dem angegebenen Index speichern
  3. Den Wert an dem angegebenen Index zurückgeben
  4. Alle möglichen Exceptions behandeln und stattdessen die entsprechende Fehlermeldung zurückgeben

Die Rückgabemeldungen sollten wie folgt lauten:

  • Für NumberFormatException: "Error: Invalid number format"
  • Für ArithmeticException: "Error: Division by zero"
  • Für ArrayIndexOutOfBoundsException: "Error: Invalid array index"
  • Für eine erfolgreiche Operation: 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