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
![](https://images.gutefrage.net/media/user/Gho5txx/1591016531836_nmmslarge__45_17_420_420_ffa4b6977bed9c8eab091759832ee8a5.jpg?v=1591016532000)
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.
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Dann wird
temp.bin (Zugriff verweigert)
ausgegeben. Also liegt es wirklich einfach am Pfad. Wenn ich einen konkreten Pfad angebe dann funktioniert der Code.