您的位置:首页 > 其它

try catch finally return 执行顺序

2014-10-19 15:25 295 查看
/article/10014501.html

总结

一:try catch finally 都没有return 则执行finally后的return

二:try catch有return,无异常执行完finally后执行try中return,有异常则执行完finally后执行catch中return

三:try catch finally均有return,仅执行finally中return ,即只要finally块中有return则try或catch中的return不再执行

四:二三类型的情况均有return执行,所以在二三中情况基础之上,如果finally之后还有return,必然不会执行,此时编译器就会报错

五:判断finally外能否有return,只需要判断在try catch finally 中是否必定会执行return,如果是则finally不能有return;

下面这种情况是try{return} catch{}finally{}return 如果程序正常则finally中的return 不执行,否则程序异常则执行finally后的异常

public static void main(String[] args){

System.out.print(tt());

}

public static int tt(){

int b = 23;

try{

System.out.println("yes");

b += 88;

return b; //---1

}catch(Exception e){

System.out.println("error :" + e);

}finally{

if(b>25){

System.out.println("b>25 :"+b);

}

System.out.println("finally");

}

return 101; //---4

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: