Csharp/C#教程:c#finalizer抛出exception?分享


c#finalizer抛出exception?

从MSDN引用:

如果Finalize或Finalize的覆盖引发exception,则运行时将忽略该exception,终止该Finalize方法,并继续完成最终化过程。

但如果我有:

~Person() { throw new Exception("meh"); } 

然后它会导致运行时exception?

ps我知道这绝不会发生,但我只是对这种行为感到好奇。 我们的一个客户有一个空的尝试捕获他们的所有终结器..它甚至没有记录出错或重新对象:/

链接报价来源非常重要。 我不得不假设它谈论的是旧版本的.NET,可能是版本1.x. 它试图对未处理的exception进行“宽容”,吞没它们没有发出吱吱声。 这种方法效果不佳,默认无效的代码块非常难以调试。

.NET 2.0版本结束了这一点,默认的CLR主机终止了应用程序的任何未处理的exception。 终结者中的例外是致命的。

上述就是C#学习教程:c#finalizer抛出exception?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/958657.html

(0)
上一篇 2021年11月22日
下一篇 2021年11月22日

精彩推荐