LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Sieh dir in dieser Anwendung die Methoden withoutTryCatch() und withTryCatch an und achte auf den Unterschied.
  • Führe die Anwendung unverändert aus – damit wird die Methode withoutTryCatch() ausgeführt, was zu einer RuntimeException fü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 die RuntimeException behandelt.

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.");
		}
	}
}
Code bearbeiten und ausführen