Sobes.tech
Intern

Was ist eine Ausnahme?

sobes.tech KI

Antwort von AI

Eine Ausnahme ist ein Ereignis, das den normalen Ablauf der Programmausführung unterbricht. Sie tritt bei einem Fehler oder einer unerwarteten Situation auf.

Es gibt:

  • Überwachte (Checked): erfordern eine Behandlung oder Deklaration in der Methodensignatur (z.B. bei der Arbeit mit Dateien oder Netzwerken).
  • Nicht überwachte (Unchecked) oder Laufzeitfehler (RuntimeException): deuten in der Regel auf Fehler in der Programmlogik hin und erfordern keine explizite Behandlung (wie Division durch Null oder Array-Grenzüberlauf).
  • Fehler (Errors): stellen schwerwiegende Probleme dar, von denen das Programm in der Regel nicht wiederhergestellt werden sollte (z.B. Speicherknappheit).

Der Mechanismus der Ausnahmebehandlung ermöglicht es, den Code, der Fehler behandelt, vom Hauptlogikfluss des Programms zu trennen. Dies erhöht die Lesbarkeit und Wartbarkeit des Codes.

Zur Behandlung von Ausnahmen werden try-catch-finally Blöcke (in Java, C#) oder ähnliche Konstruktionen (try-except-finally in Python) verwendet.

try {
    // Code, der eine Ausnahme verursachen kann
    int result = 10 / 0; // ArithmeticException
} catch (ArithmeticException e) {
    // Behandlung einer spezifischen Ausnahme
    System.err.println("Fehler: " + e.getMessage());
} catch (Exception e) {
    // Behandlung aller anderen Ausnahmen
    System.err.println("Ein unerwarteter Fehler ist aufgetreten");
} finally {
    // Code, der unabhängig davon ausgeführt wird, ob eine Ausnahme aufgetreten ist
    System.out.println("Finally-Block ausgeführt");
}