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。 终结者中的例外是致命的。