尝试使用 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 初始化两个对象可以避免在未创建时释放它们时出错。