用途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都将被释放。任何异常都将转到调用方。