Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Verhalten von TFileStream/TBufferedFileStream bei Crash

  Alt 26. Mai 2020, 15:50
Schliesst Delphi in seinem Exception-Handler alle offenen Files, oder macht dass das OS nach Beenden einer App ?
Es geht hier mehr um iOS, ist aber generell die Frage wie Exception mit offenen Files umgehen.
Ich kann nicht für iOS sprechen, in Windows ist halt so, dass alle Handles und etc. freigegeben werden, wenn der Prozess terminiert ist.
Wird wohl da so ähnlich sein.

Das von dir gewünschte Verhalten musst du selber implementieren, dass heißt im TApplication.OnException selber dafür sorgen, dass deine Logging-Komponente sauber verarbeitet und ggf. beendet wird. Es gibt kein Automatismus.
Wobei grundsätzlich etwas schief läuft, wenn so Sachen wie Div0-Exceptions bis soweit oben hochbubbeln.

Wirklich sicher bist du nur mit einer abgesetzten Lösung (siehe oben), weil Anwendungskritische Vorfälle auch ohne Exceptions auftreten können (Deadlock, Endlosschleifen, hartes Terminieren durch das Betriebssystem).
  Mit Zitat antworten Zitat