In Java gibt es zwei Arten von Ausnahmen: überprüfte und nicht überprüfte Ausnahmen. Eine überprüfte Ausnahme ist eine Ausnahme, die während des Compile-Zeit überprüft wird. Ein gutes Beispiel hierfür ist die IOException
. Im Gegensatz zu NullPointerException
, ArrayIndexOutOfBoundsException
und RuntimeException
erfordert IOException
eine explizite Behandlung oder erklärung im Code, daher wurde diese Antwort als die korrekte in der Quizfrage identifiziert.
Die IOException
wird oft beim Arbeiten mit input/output Operationen angetroffen, wie z.B. das Lesen oder Schreiben in Dateien oder Netzwerkverbindungen. Die IOException
signalisiert, dass während dieser Operationen ein Fehler aufgetreten ist. Hier ist ein einfaches Beispiel, wie eine IOException
behandelt werden kann:
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileInputStream file = new FileInputStream("unbekannteDatei.txt");
} catch (IOException ex) {
System.out.println("Fehler beim Lesen der Datei");
}
}
}
In diesem Code versuchen wir, eine Datei zu lesen, die nicht existiert. Da dies eine überprüfte Ausnahme ist, erfordert unser code Compiler, dass wir eine IOException
entweder abfangen (wie in diesem Beispiel) oder sie weiterreichen.
Es ist eine bewährte Methode, überprüfte Ausnahmen zu verwenden, wenn Sie erwarten, dass der Aufrufer des Methodencodes einen Fehler erfolgreich beheben kann. Andernfalls ist es in der Regel besser, eine nicht überprüfte Ausnahme zu verwenden.
Es ist wichtig zu beachten, dass es nicht immer möglich ist, alle möglichen Fehlerbedingungen vorherzusehen. Daher ist es ratsam, eine Mischung aus überprüften und ungeprüften Ausnahmen gemäß den spezifischen Anforderungen Ihres Projekts zu verwenden.