Warum wird bei dem folgenden Code eine Fehlermeldung ausgegeben?
Hallo liebe Community,
ich habe folgenden Code:
try {
RandomAccessFile raw = new RandomAccessFile("temp.bin", "rw");
raw.writeInt(0);
raw.writeInt(-1);
raw.seek(3);
System.out.println(raw.readShort());
} catch (IOExcpetion e) {
System.out.println("Ein Ein/Ausgabefehler ist aufgetreten.");
}
Wenn ich diesen Code ausführe wird "Ein Ein/Ausgabefehler ist aufgetreten." ausgegeben. Woran liegt das? Mein Vermutung ist, dass bei der Erstellung des RandomAccessFile-Objekts kein korrekter Pfad angegeben wird und deswegen kommt es zu einem Fehler, welcher im catch-Block behandelt wird.
Ist meine Vermutung korrekt, wenn nicht warum ist sie nicht korrekt und was führt dann zu dem Fehler?
Ich hoffe mir kann hier jemand weiterhelfen.
1 Antwort
Es wäre vielleicht ratsam dir die Exception die du abfängst auch auszugeben. Eine generische Nachricht bringt dir als Entwickler im Endeffekt garnichts.
Gib sie dir mit
e.getMessage()
aus.
Dann wird
temp.bin (Zugriff verweigert)
ausgegeben. Also liegt es wirklich einfach am Pfad. Wenn ich einen konkreten Pfad angebe dann funktioniert der Code.