try里有一个return语句,紧跟在try后的finally里的code会不会被执行,什么时候执

 我来答
欢山幕1
2017-07-05 · 超过10用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:6.3万
展开全部
肯定执行了
你在finally里加一条输出语句你就知道了
但结果为什么会是2呢?
在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。
在转去之前,try中先把要返回的结果存放到不同于a的局部变量中去,执行完finally之后,在从中取出返回结果,
因此,即使finally中对变量a进行了改变,但是不会影响返回结果。
它应该使用栈保存返回值。
宝宝的棉花糖aw
2017-07-05
知道答主
回答量:8
采纳率:0%
帮助的人:2.3万
展开全部
finally里的语句一定是执行的,在try{}catch{}执行完毕后执行,比如关闭输出流:out.close,一般就会放在finally里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式