In Zukunft werde ich mich um 2h früh schlafen legen, statt Mist zu programmieren und dann im Forum Hilferufe zu posten. Um die Uhrzeit hab ich es nicht mehr so mit dem Denken.
Natürlich ist der Code davor relevant, und da war auch der Fehler. Ich habe ein rename der vorigen Version des Logfiles gemacht, um immer die letzten zwei Logfiles verfügbar zu haben und gegebenenfalls vergleichen zu können. Weil es vorkommen kann, dass es davor noch gar keine Logfileversion gibt, war mir das IOResult der rename Operation egal und ich habe es nicht abgefragt (ich dachte, wenn kein File, dann gibt es eben kein rename und das ist kein Problem). Aber um den beim rename aufgetretenen Fehler (File not found) zurückzusetzen, muss man natürlich vor der nächsten I/O Operation trotzdem IOResult aufrufen, sonst bleibt der Fehler stehen und wird beim nächsten Aufruf von IOResult, nach der nächsten I/O Operation, als Ergebnis zurückgegeben. Nicht, dass ich das nicht eh wüsste, aber es war eben 2h früh
