嘗試使用 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
初始化兩個物件可以避免在未建立時釋放它們時出錯。