Embarcadero Delphi 简单的try..finally示例,以避免内存泄漏

示例

用途try-finally避免在执行期间发生异常的情况下泄漏资源(例如内存)。

下面的过程将字符串保存在文件中,以防止TStringList泄漏。

procedure SaveStringToFile(const aFilename: TFilename; const aString: string);
var
  SL: TStringList;
begin
  SL := TStringList.Create; // 尝试外拨打电话 
  try
   SL.Text:= aString;
    SL.SaveToFile(aFilename);
  finally
   SL.Free// 无论上面发生什么,都会被调用
  end;
end;

无论在保存文件时是否发生异常,SL都将被释放。任何异常都将转到调用方。