RuntimeException
RuntimeExceptions erfordern keine try/catch-Blöcke im Code. Mit sauberer Programmierung lassen sie sich meist vermeiden. Werden Fehler jedoch nicht erkannt und eine RuntimeException bleibt unbehandelt, kann die Anwendung abstürzen und Fehlerinformationen anzeigen, die Nutzer nicht immer verstehen. In dieser Übung siehst du, was passiert, wenn du eine mögliche RuntimeException nicht abfängst – und was passiert, wenn du sie mit try/catch behandelst.
Diese Übung ist Teil des Kurses
Datentypen und Exceptions in Java
Anleitung zur Übung
- Sieh dir in dieser Anwendung die Methoden
withoutTryCatch()undwithTryCatchan und achte auf den Unterschied. - Führe die Anwendung unverändert aus – damit wird die Methode
withoutTryCatch()ausgeführt, was zu einerRuntimeExceptionführt. - Kommentiere Zeile 5 aus und hebe die Auskommentierung von Zeile 7 auf. Führe die Anwendung dann erneut aus. Dadurch wird die Methode
withTryCatch()ausgeführt, die diesmal dieRuntimeExceptionbehandelt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
public class RuntimeExceptionHandling {
public static void main(String[] args) {
// Comment out this line
withoutTryCatch();
// Uncomment this line
// withTryCatch();
}
public static void withoutTryCatch() {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
}
public static void withTryCatch() {
try {
String[] mounts = { "Everest", "K2", "Kangchenjunga", "Lhotse" };
String selectedMount = mounts[4];
System.out.println("Selected item is: " + selectedMount);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Oops - made a mistake accessing the mounts array with a bad index.");
}
}
}