簡單的嘗試..最後的例子,以避免記憶體洩漏
如果在執行期間發生異常,請使用 try
-finally
以避免洩漏資源(例如記憶體)。
下面的過程將字串儲存在檔案中,並防止 TStringList
洩漏。
procedure SaveStringToFile(const aFilename: TFilename; const aString: string);
var
SL: TStringList;
begin
SL := TStringList.Create; // call outside the try
try
SL.Text := aString;
SL.SaveToFile(aFilename);
finally
SL.Free // will be called no matter what happens above
end;
end;
無論儲存檔案時是否發生異常,SL
都將被釋放。任何異常都將傳送給呼叫者。