A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

会,而且先执行finally,在执行try?
—————————————————–
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str=showResult();
System.out.println(str);
}

public static String showResult(){
try {
System.out.println(“1——–”);
return “hello world”;
} catch (Exception e) {
return “failure”;
}finally{
System.out.println(“2——-”);
}
}
}
——————————————————
结果是:
1——–
2——-
hello world





2 个回复

倒序浏览
执行顺序:
try{}里先执行, 遇到return语句就跳到finally.,执行完后跳回try {}return语句返回,程序出现异常就停掉.
(1)try{}
(2)finally{}
回复 使用道具 举报
本帖最后由 吃阁子的猫 于 2013-8-17 20:04 编辑

1,main方法进栈,调用showResult()
2,执行try输出语句,执行return,这是并未输出,存到一个指定区域
3,执行finally输出语句
4,所有方法执行完,方法弹栈,这是才输出return中的语句
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马