一个函数中,在try与__finally中,如果在try中使用了return,那么__finally中的清理工作就会变得十分奇怪。
在一篇文章中,是这样说的,try中使用了return,那么__finally块就会作为一个局部展开,相当于一个方法调用。这个调用是在return之前。这样在清理的时候会出现一系列的问题,作为一个方法调用,__finally中能不能正确的清理?
我在写一个程序的时候,需要在__finally中关闭一些连接,因为在try中有return,结果一遇到return就会使程序出现异常。所以有必要好好查看文档了。(先写到这,查到后再补充。)