Zitat:
Folgender Code wird niemals einen Fehler produzieren
Abgesehn von den drei Compilerwarnungen.
Zitat:
Folgender Code wird niemals einen Fehler produzieren
Außer der Speicher ist voll
oder alles ist zu spät, dann isses sowieso egal. (Speichermanagement oder Stack zerballert)
Wenn mehr als TObject und es im Create knallen kann, dann fehlt die Freigabe der vorherrigen Objekte.
Mehrere Free in ein Finally nur, wenn es "normalerweise" nicht im Free/Destroy knallen kann.
(Fälle wo die Anwendung eh nicht mehr lauffähig ist, ignoriere ich ... z.B. Speichermanagement/Stack total kaputt)
Aber ja, teilweise optimiere ich auch das Eine oder Andere Try-Finally weg
und verwende ein gemeinsames Finally oder die Zeile nach einem Try-Except (ohne Re-Raise),
bzw. wenn "nachweißlich" im Create/Destroy nichts passieren kann, gleich alles weg.
Zitat:
Mobile Anwendungen - wenn auch nur eine
Exception nach draußen zum Betriebssystem gelangt,
Auch Windows macht es so.
OK, wobei die
VCL/FMX und (schlimmernoch) TThread viele Exceptions vom System fern halten.