首页 > 编程语言 > 详细

java里的finally与try catch块的return的执行顺序

时间:2021-07-30 23:09:57      阅读:22      评论:0      收藏:0      [点我收藏+]

代码

int a =1;
try {
    return a;
}finally {
    return 2;
}

上面这段代码最终会返回 2 ,因为finally一定会程序return返回之前执行。当程序执行到try 块里的return时,因为finally还没有执行,所以这里程序并不会返回,而是接着执行finally块的代码,由于finally里的代码有个return语句,所以执行到这里程序结束。

再看一段代码,这里程序执行到try块的return语句时,由于还有个finally块没执行,于是程序没有返回,接着执行finally块,finally返回a,于是乎try块的return语句自动就被覆盖掉了,因为在finally return之后函数就结束了。

说到底其实就是执行顺序的问题,没什么特别的。

 

        int a =1;
        try {
            return a;
        }finally {
            a =2;
            return a;
        }

经常会有

 

java里的finally与try catch块的return的执行顺序

原文:https://www.cnblogs.com/fatxin/p/15081269.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!