finally中是一定会被执行的代码,就算有try中有return,在return之前也会执行finally
第一个程序,结果:
fially执行了6
6
在执行try中的return之前先执行finaly,由于finally中有return,所以finally抓住了机会 将结果num+1后直接返回,然后再主函数中也打印6
第二个程序,结果:
fially执行了6
5
在try中return之前依旧执行了finally,由于此时finally中没有return 所以try中的return记录的仍然是num没有自增之前的结果5
|