try { // Do stuff } catch (Exception e) { throw; } finally { // Clean up }
在上面的块中,finally 块是什么时候调用的?在抛出 e 之前还是最后调用然后 catch ?
它会在重新抛出 e 之后调用(即在执行 catch 块之后)
7 年后编辑这个 - 一个重要的注意事项是,如果e没有被调用堆栈中的 try/catch 块捕获或被全局异常处理程序处理,那么该finally块 可能 永远不会执行。
e
finally