尝试使用 2 个或更多对象
Object1 := nil;
Object2 := nil;
try
Object1 := TMyObject.Create;
Object2 := TMyObject.Create;
finally
Object1.Free;
Object2.Free;
end;
如果你没有在 try-finally
块之外用 nil
初始化对象,如果其中一个无法创建,则 finally 块上将出现 AV,因为该对象不会为 nil(因为它没有被初始化)并且会导致例外。
Free
方法检查对象是否为 nil,因此使用 nil
初始化两个对象可以避免在未创建时释放它们时出错。