c# – 如果你从catch块中抛出异常,最后运行什么时候?

尝试{
       // 做东西
    }}
    catch(Exception e){
       扔;
    }}
    最后{
       // 清理
    }}

在上面的块中when是finally块调用?在投掷e之前还是最后调用然后catch?

最佳答案
它将在e被重新引发之后被调用(即在执行catch块之后)

编辑这个7年后 – 一个重要的注意是,如果e不被try / catch块捕获在调用堆栈或由全局异常处理程序处理,则finally块可能永远不会执行。

转载注明原文:c# – 如果你从catch块中抛出异常,最后运行什么时候? - 代码日志