Avatar ·

Geprüfte und ungeprüfte Ausnahmen in Java: Was ist der Unterschied und wie verwendet man sie?

Hallo zusammen. Ich habe angefangen, Java zu lernen und verstehe den Unterschied zwischen checked (geprüften) und unchecked (ungeprüften) Exceptions einfach nicht. Ich habe die Dokumentation gelesen, aber in der Praxis bin ich trotzdem verwirrt.\n\nZum Beispiel schreibe ich eine einfache Methode, die eine Datei liest:\n\n```java\npublic void readFile(String path) {\n FileReader file = new FileReader(path);\n BufferedReader reader = new BufferedReader(file);\n String line = reader.readLine();\n System.out.println(line);\n}\n```\n\nDer Compiler meckert bei `FileReader` und `readLine()` – er sagt, dass `FileNotFoundException` und `IOException` behandelt werden müssen. Ich packe es in einen `try-catch`-Block und alles funktioniert. Aber dann schreibe ich eine Methode, die Zahlen dividiert:\n\n```java\npublic int divide(int a, int b) {\n return a / b;\n}\n```\n\nWenn ich `b = 0` übergebe, stürzt das Programm ab.