Delphi中的两种编码模式之间是否有任何实际区别:
版本 1
try
try
{Do something}
finally
{Do tidy up}
end
except
{Handle exception}
end;
版本 2
try
try
{Do something}
except
{Handle exception}
end
finally
{Do tidy up}
end;
Delphi中的两种编码模式之间是否有任何实际区别:
版本 1
try
try
{Do something}
finally
{Do tidy up}
end
except
{Handle exception}
end;
版本 2
try
try
{Do something}
except
{Handle exception}
end
finally
{Do tidy up}
end;
有两个区别:
通常你不关心 finally 块加注。你根本没想到会发生这种情况,如果真的发生了,那么事情可能很糟糕。
所以重要的区别是 finally 是否在异常处理程序之前运行,反之亦然。有时这无关紧要,但通常确实会有所作为。
当您使用try..except
以下行时执行。
Resource := TAbstractResource.Create;
try
Resource.DoSomeThing;
except
On E:Exception Do
HandleException(E);
end;
FreeAndNil(Resource);