try 里有一个try里面returnn 语句,那么紧跟在这个try 后的finally 里的code会不会被

2007年4月 总版技术专家分月排行榜第一2007年3月 总版技术专家分月排行榜第一2007年2月 总版技术专家分月排行榜第一2007年1月 总版技术专家分月排行榜第一2006年12月 总版技术专家分月排行榜第一
2009年8月 总版技术专家分月排行榜第三2007年5月 总版技术专家分月排行榜第三
2007年3月 总版技术专家分月排行榜第二
2007年4月 总版技术专家分月排行榜第三2007年2月 总版技术专家分月排行榜第三
2007年12月 .NET技术大版内专家分月排行榜第一
2007年10月 .NET技术大版内专家分月排行榜第二
2007年12月 .NET技术大版内专家分月排行榜第一
2007年10月 .NET技术大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行? - CSDN博客
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行?
这是一个很有趣的问题,我测试的结果是:是在return中间执行。
我在网上搜寻了一些资料,下面是参考代码:
package com.b510.
* try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行?
* @author Hongten
public class TestC {
@SuppressWarnings(&static-access&)
public static void main(String[] args) {
System.out.println(&结果: & + new TestC().test());
static int test(){
int i = 1;
System.out.println(&try里面的i : & + i);
System.out.println(&进入finally...&);
System.out.println(&fianlly里面的i : & + i);
输出结果:
try里面的i : 1
进入finally...
fianlly里面的i : 2
下面是我在debug时,抓取的图片:
上图是程序执行到try模块里面:变量&i&的值的情况。
上图是程序执行到了try模块中的return语句时,按下F5键,进入到finally模块,执行finally模块中的语句后,变量&i&的值发生了变化。
上图是当程序执行完finally模块后,返回到return代码块。
但是在最后的运行效果中,我们看到的结果是:1,而不是我们想象中的:2
为什么会出现这样的情况:
上面我认为比较靠谱的一种解释。
还有一种解释为:
主函数调用子函数并得到结果的过程,好比主函数准备一个空罐子,当子函数要返回结果时,先把结果放在罐子里,然后再将程序逻辑返回到主函数。所谓返回,就是子函数说,我不运行了,你主函数继续运行吧,这没什么结果可言,结果是在说这话之前放进罐子里的。
本文已收录于以下专栏:
相关文章推荐
这是一个很有趣的问题,我测试的结果是:是在return中间执行。
我在网上搜寻了一些资料,下面是参考代码:
4 package com.b510.t...
这是一个很有趣的问题,我测试的结果是:是在return中间执行。
我在网上搜寻了一些资料,下面是参考代码:
4 package com.b5...
今天做了一道题,一直以为try
这是一个很有趣的问题,我测试的结果是:是在return中间执行。
我在网上搜寻了一些资料,下面是参考代码:
4 package com.b5...
一般答案:会执行,在方法返回调用前执行。准确的说是在return中间执行。
下面举个例子:
public class Test {
public static void main(Strin...
实践是检验真理的唯一标准,废话不说,上图。
首先是java代码
package zjyang.
public class TestReturnFinally {
欢迎转载、转载请注明出处 http://blog.csdn.net/aizanhao
1、没有异常时,执行顺序:1--&2--&5--&3;
      执行完1之后,会执行return后面的表...
浅析Java try….catch….finally中return语句执行顺序
在Java中当try、finally语句中包含return语句时,执行情况到底是怎样的,finally中的代码是否执行,大家众说纷纭,有的说会执行,有的说不会执行,到底哪种说法正确,现在通过下面的例子...
之前对finally的理解是不管是return、break和continue最后finally语句块总是会被执行,但是,最近在看书的过程中发现,有一种情况下,finally会被彻底抛弃和忽略的,这种情...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)> 问题详情
try{}里有一个return语句,那么紧跟在这个try后的finally{}里的 Code 会不会被执行,什么时候
悬赏:0&答案豆
提问人:匿名网友
发布时间:
try{}里有一个return语句,那么紧跟在这个try后的finally{}里的 Code 会不会被执行,什么时候被执行,在 retuan前还是后?请帮忙给出正确答案和分析,谢谢!
为您推荐的考试题库
您可能感兴趣的试题
114. 两个对象值相同(x.equalsy(y)==true),但却可有不同的 hash code.,这句话对不对?215.&switch是否作用在 byte上,是否能作用在long上。是否能作用在string上?
我有更好的答案
相关考试课程
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
找答案会员
享三项特权
找答案会员
享三项特权
找答案会员
享三项特权
选择支付方式:
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
常用邮箱:
用于找回密码
确认密码: Java常见面试题之一:
  try&{}里有一个语句,那么紧跟在这个后的里的会不会被执行,什么时候被执行,在前还是后
public class FinallyTest {
public static void main(String[] args) {
System.out.println(returnAndFinally());
public static int returnAndFinally(){
int result = 0;
result = 1;
} catch (Exception e) {
result ++;
System.out.println(&finally...&);
System.out.println(&afterfinally...&);
结果如下:
finally...
  从结果可以看出,其实关于这个回答可以说是,finally是在return中间执行的,执行到return之后,结果就放在一个临时空间里面,然后就执行finally,虽然finally里面有对result里面操作,但是已经不影响结果了,除非是在finally里面有执行return。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:19662次
排名:千里之外
原创:56篇
转载:73篇
(3)(12)(7)(17)(26)(37)(4)(2)(20)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'> 问题详情
6,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被
悬赏:0&答案豆
提问人:匿名网友
发布时间:
6,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?请帮忙给出正确答案和分析,谢谢!
为您推荐的考试题库
您可能感兴趣的试题
17,编程题: 用最有效率的方法算出2乘以8等於几?28,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?39,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?410,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
我有更好的答案
相关考试课程
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
找答案会员
享三项特权
找答案会员
享三项特权
找答案会员
享三项特权
选择支付方式:
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
常用邮箱:
用于找回密码
确认密码:

我要回帖

更多关于 php try 里面放return 的文章

 

随机推荐