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

Erstelle 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. Eine Ganzzahl (index), die einen Array-Index darstellt

Die Methode sollte:

  1. Ein Array der Größe 2 erstellen
  2. Den durch Parsen erhaltenen ganzzahligen Wert von num1 geteilt durch den durch Parsen erhaltenen ganzzahligen Wert 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