Es wäre auch sinnvoll, die Objekte
vor dem try-Block zu erstellen und dann eine try-finally Konstrukt zu verwenden und die Objekte im finally Abschnitt wieder frei zugen.
Delphi-Quellcode:
sl := TStringList.Create;
try
sl. ...;
finally
FreeAndNil(sl);
end;
Wenn es nicht erzeugt werden kann, ist auch kein Speicher reserviert, den man freigeben müsste. Bei deinem Konstrukt, müsste dir der Compiler übrigens eine Warnung ausgeben. Und Warnungen sollte man nicht ignorieren, die gibt der Compiler nicht nur zum Spaß aus.