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
}
总结
一: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
}
相关文章推荐
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- 有return的情况下try catch finally的执行顺序
- 异常机制第三十六课,try,_catch,finally,_return执行顺序
- 含有return语句的try-catch-finally语句执行顺序
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- 有return的情况下try catch finally的执行顺序
- Java学习笔记__异常机制_try_catch_finally_return执行顺序
- 有return的情况下try catch finally的执行顺序
- 有return的情况下try catch finally的执行顺序
- Java异常捕获之try-catch-finally-return的执行顺序
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- 【Java基础之finally和return】有return的情况下try catch finally的执行顺序
- 有return的情况下try catch finally的执行顺序
- 各种return情况下try,catch,finally的执行顺序
- Java异常捕获之try-catch-finally-return的执行顺序
- 转载 : 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- try-catch-finally的执行顺序,catch中有return呢?
- 有return的情况下try catch finally的执行顺序
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- 有return的情况下try catch finally的执行顺序