首页 > 其他 > 详细

try..catch..finally..

时间:2015-09-07 12:22:56      阅读:232      评论:0      收藏:0      [点我收藏+]

记录一下try..catch..finally..中return的情况。

1.try中有return,finally中没有return语句的。

如下代码:--返回1;finally中代码也有执行到,但try中return a程序会记录下来1;执行完finally后再去return 1;

public int test3(){
        int a = 0;
        try {
            a++;
            return a;
        } catch (Exception e) {
            a++;
            return a;
        }finally{
            a++;
        }
    }

2.try中有return,finally中也有return语句的。

如下代码:--2,最终返回的是finally语句下return a的结果。

public int test3(){
            int a = 0;
            try {
                a++;
                return a;
            } catch (Exception e) {
                a++;
                return a;
            }finally{
                a++;
                return a;
            }
        }

3.return语句在最外面的情况

如下代码:--返回2,

public int test3(){
        int a = 0;
        try {
            a++;
        } catch (Exception e) {
            a++;
        }finally{
            a++;
        }
        return a;
    }

4.类似于如下这种:--返回1

public int test3(){
        int a = 0;
        try {
            a++;
            return a;
        } catch (Exception e) {
            a++;
        }finally{
            a++;
        }
        return a;
    }

 

总结一下:finally中带有return的,一律最终都会返回该结果。

只有try中带有return的(catch也会带有或最外边带有),则会忽略其他各处对结果的修改,只返回try中返回的结果。

 

try..catch..finally..

原文:http://www.cnblogs.com/ihanliu/p/4788297.html

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