在C#中,如果抛出未处理的异常,finally块会在try,catch中执行吗?

最佳答案
最后大部分时间都在执行.这几乎是所有情况.例如,如果在线程上抛出异步异常(如StackOverflowException,OutOfMemoryException,ThreadAbortException),则无法保证最终执行.这就是编写高可靠性代码的constrained execution regions的原因.

对于面试目的,我希望这个问题的答案是错误的(我不保证任何事情!面试官可能不会自己知道!).

转载注明原文:在C#中,如果抛出未处理的异常,finally块会在try,catch中执行吗? - 代码日志