finally是在try块中的return之前还是之后执行

我知道的是,如果try块中如果有return的话,会把return后的变量值放到操作数栈的栈顶,给ireturn指令使用,但是没有返回,再继续执行finally里面的方法。那这样算是在return之前执行还是return之后执行呢?
全部评论
计算return表达式--->保存return表达式结果--->执行finally块--->返回return表达式结果。 所以,如果finally中有return,那么第四部分就不会执行了
点赞 回复 分享
发布于 2016-09-13 10:32
return后面语句之后,return之前
点赞 回复 分享
发布于 2016-09-12 21:30
实际就是一个栈, 因为有finally块的存在,所以即使在try块中遇到return也会将其压入栈中,   此时在执行finally中的东西, 此时算是return之前执行;  当然如果finally中有 return的话 按照栈的习惯,后进先出 是先执行finllay的return,而且return之后 这个操作的生命周期就完事了。栈也消亡了 所以表面上看是 覆盖了原return
点赞 回复 分享
发布于 2016-09-13 10:22
之后,而且一般来说是直接finally中的return覆盖之前的return
点赞 回复 分享
发布于 2016-09-12 21:29
return执行以后,返回以前
点赞 回复 分享
发布于 2016-09-12 23:26
这种题就是个坑,出题的知道自己想考什么,但是表达有歧义
点赞 回复 分享
发布于 2016-09-13 03:19
http://www.jianshu.com/p/ff574ca84ec7 推荐看看
点赞 回复 分享
发布于 2016-09-13 10:02

相关推荐

10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点??? 还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力………… 感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务