黑马程序员技术交流社区
标题:
异常问题
[打印本页]
作者:
毕博
时间:
2012-4-25 19:20
标题:
异常问题
、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
作者:
张小庆
时间:
2012-4-25 19:24
在return中执行
主函数调用子函数并得到结果的过程,好比主函数准备一个空罐子,当子函数要返回结果时,先把结果放在罐子里,然后再将程序逻辑返回到主函数。所谓返回,就是子函数说,我不运行了,你主函数继续运行吧,这没什么结果可言,结果是在说这话之前放进罐子里的。
作者:
崔仁军
时间:
2012-4-25 20:10
1. 如果try 块中存在 return 语句,那么首先也需要将finally 块中的代码执行完毕,然
后方法再返回。
2. 如果 try 块中存在 System.exit(0)语句,那么就不会执行 finally 块中的代码,因为
System.exit(0)会终止当前运行的Java 虚拟机,程序会在虚拟机终止前结束执行。
作者:
魏征
时间:
2012-4-25 20:32
finally{}一定会执行,当try{}中的语句没有发生异常return语句会先运行,然后finally中的语句会运行,当try{}中的语句发生异常,return不会运行。catch语句运行,然后finally语句运行。
作者:
徐鑫
时间:
2012-4-25 20:56
finally{
里面的句子一定会执行
}
后面的 要看 前面是不是 发生异常
如果try{}里面的 正常执行完后 finally 做结束处理 那么
finally{} 后面还有 那当然会执行
如果 try{} 发生异常 到catch{}捕捉 或直抛出 然后执行finally{}
里面的,但是后面的代码就不会执行了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2