finally执行顺序问题
来源:互联网 发布:unity3d 删除project 编辑:程序博客网 时间:2024/04/29 04:37
public static void main(String[] args) {
System.out.println(new Test().test());
}
static int test(){
try {
System.out.println("6666666");
return 1;
} catch (Exception e) {
// TODO: handle exception
}finally{
return 2;
}
输出:6666666
2
结论:try中的语句调用先于finally中的语句执行,也就是说return 1先执行,
再执行return 2,所以最终返回输出2。return并不是让函数马上返回,而是return
语句执行之后,将把返回结果放置进函数栈中,函数并不是马上返回,它要在执行
finally语句之后才真正返回。
简言之:finally中的代码比return,break语句后执行!
System.out.println(new Test().test());
}
static int test(){
try {
System.out.println("6666666");
return 1;
} catch (Exception e) {
// TODO: handle exception
}finally{
return 2;
}
输出:6666666
2
结论:try中的语句调用先于finally中的语句执行,也就是说return 1先执行,
再执行return 2,所以最终返回输出2。return并不是让函数马上返回,而是return
语句执行之后,将把返回结果放置进函数栈中,函数并不是马上返回,它要在执行
finally语句之后才真正返回。
简言之:finally中的代码比return,break语句后执行!
0 0
- finally执行顺序问题
- finally和return执行顺序问题
- try catch finally return执行顺序问题
- finally的执行顺序
- finally真正执行顺序
- return finally执行顺序
- try finally执行顺序
- java finally 执行顺序
- try{}catch{}finally{} 里的代码的执行顺序问题
- 初学 异常总结,异常finally执行顺序问题
- finally——return的执行顺序问题
- 关于try\return\finally的执行顺序问题
- try catch finally中return的 执行顺序问题
- java中try{}catch{}和finally{}的执行顺序问题
- java中try{}catch{}和finally{}的执行顺序问题
- java中try{}catch{}和finally{}的执行顺序问题
- return与finally的执行顺序与返回值问题
- try{} finally{} 中 finally的执行顺序
- 剑指offer—连续子数组的最大和
- c++组合模式和原型模式一起使用
- j=j++的问题
- [BZOJ1640]=[BZOJ1692][Usaco2007 Dec]队列变换
- HTTPS和SSL/TLS协议
- finally执行顺序问题
- MySQL数据库学习笔记-锁机制
- ocp-81
- uvaoj 11384Help is needed for Dexter
- ocp-82
- 1037. 在霍格沃茨找零钱(20)
- ocp-83
- ocp-84
- ocp-85