追时间

Yak shaving during web development, thoughts...from Jijie Chen

try..finally还是 try..catch..finally——你的异常处理异常了吗?

 catch用于处理异常,而finally用于运行必须运行的代码,比如回收资源等。
那有人就要问了:finally 里的语句一定会被执行吗?我难道不可以使用何种语句让它不会执行吗?确实会在异常、崩溃时也能执行吗?

我一直这样回答提问者的问题:一定会,无论使用何种语句试图跳出,它都会被正常执行!

下面,我将简单地论证为什么是这样的,以及什么时候 finally 里的语句不会被执行呢?
[更多...]