小编典典

如果从 catch 块中抛出异常,最终何时运行?

all

try {
   // Do stuff
}
catch (Exception e) {
   throw;
}
finally {
   // Clean up
}

在上面的块中,finally 块是什么时候调用的?在抛出 e 之前还是最后调用然后 catch ?


阅读 41

收藏
2022-08-21

共1个答案

小编典典

它会在重新抛出 e 之后调用(即在执行 catch 块之后)

7 年后编辑这个 - 一个重要的注意事项是,如果e没有被调用堆栈中的 try/catch 块捕获或被全局异常处理程序处理,那么该finally
可能 永远不会执行。

2022-08-21