Skip to content

Exceptions Checked

Josh edited this page Jun 15, 2023 · 1 revision

Checked Exceptions in Java

In Java gibt es zwei Arten von Exceptions - checked und unchecked. Checked Exceptions sind Exceptions, die vom Compiler gezwungen werden, entweder durch den Einsatz von try-catch-Blöcken behandelt oder durch eine throws-Klausel weitergeleitet zu werden. Während das Vorhandensein von Checked Exceptions den Code sicherer macht, können sie auch aufgrund von unnötigen Code-Wiederholungen und der Notwendigkeit, jede Methode mit try und catch zu umgeben, mühsam sein.

Das folgende Beispiel zeigt, wie eine Methode eine Checked Exception auslösen und weitergeben kann:

public void readFromFile() throws IOException {
    File file = new File("example.txt");
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    String line;

    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
    br.close();
    fr.close();
}

Hier wird eine IOException ausgelöst, da eine fehlerhafte Eingabe aus der Datei gelesen werden kann. Der Fehler wird durch die throws Klausel weitergeleitet, was bedeutet, dass jede Methode, die readFromFile() aufruft, auch eine Behandlungsmaßnahme für die mögliche Exception ergreifen muss.

Die Verwendung von Checked Exceptions soll Entwicklern helfen, ihre Codequalität zu verbessern und sicherzustellen, dass Fehler durch try-catch-Blöcke behandelt werden. Allerdings können sie auch dazu führen, dass der Code unhandlich und schwierig zu lesen wird, da jede Methode, die eine Exception auslösen kann, explizit behandelt werden muss. Daher sollten Checked Exceptions sinnvoll verwendet werden und nur ausgelöst werden, wenn es zur Laufzeit zu einem schwerwiegenden, unvermeidbaren Problem kommt.