码迷,mamicode.com
首页 > 其他好文 > 详细

关于try和finaly 里面return的问题

时间:2016-03-08 00:01:00      阅读:401      评论:0      收藏:0      [点我收藏+]

标签:

首先,下面这个方法调用;

	public int bbb(){
		if(true){
			return 3;
		}
		if(true){
			return 4;
		}
		return 0;
		
	}

 返回的结果是 :3

可见return 含有停止后面的意思。

可是如果执行下面的程序:

    public int abc(){
        try {
            System.out.println("----");
            return 1;
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println("1111111");
        }finally{
            System.out.println("++++");
            return 2;
        }
    }

这里返回的便是 :2

这也正表明了,finaly 恒定执行。

try里面的先放入栈中,然后再执行到finaly,因为栈是先进后出的缘故,返回的就是2

 

关于try和finaly 里面return的问题

标签:

原文地址:http://www.cnblogs.com/sunxun/p/5252218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!