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
Aufgabe
EinfachErstellen Sie eine Methode namens divideNumbers, die drei Argumente entgegennimmt:
- Einen String (
num1), der die erste Zahl darstellt - Einen String (
num2), der die zweite Zahl darstellt - Einen Integer (
index), der einen Array-Index darstellt
Die Methode sollte:
- Ein Array der Größe 2 erstellen
- Den in einen Integer umgewandelten Wert von num1 geteilt durch den in einen Integer umgewandelten Wert von num2 an dem angegebenen Index speichern
- Den Wert an dem angegebenen Index zurückgeben
- 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));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung