无论是否存在异常,finally块中的代码都将被执行。当涉及某些家政功能时,这非常方便,您需要始终像关闭连接一样运行。
现在,我 猜 您的问题是为什么要这样做:
try{ doSomething();}catch{ catchSomething();}finally{ alwaysDoThis();}当您可以这样做时:
try{ doSomething();}catch{ catchSomething();}alwaysDoThis();答案是很多时候catch语句中的代码要么抛出异常,要么脱离当前函数。对于后面的代码,“ alwaysDoThis();”
如果catch语句中的代码发出返回或引发新异常,则调用将不会执行。



