Delphi – 尝试finally块是由编译器保证正确执行的吗?

前端之家收集整理的这篇文章主要介绍了Delphi – 尝试finally块是由编译器保证正确执行的吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这也是在其他主题上讨论过的,我所问的正是这个问题的标题.

是否有这样的情况,当try / finally终于不会执行?

try
  //some error here
 finally
  //code that MUST be executed
 end;

我不是在讨论如何使用try..except / finally块,我只是想问这是否会发生.

LE:Application.Terminate /拔掉您的计算机是特殊情况.

解决方法

try..finally保证finally块中的代码将执行,而不管受保护块中发生的任何异常.如果在finally块可以执行之前杀死进程,这当然不适用,例如,通过TerminateProcess或关闭电源.受保护块中的无限循环也可以防止finally块执行.

猜你在找的Delphi相关文章