关于try和finaly 里面return的问题

Posted 命运的绯色结局

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于try和finaly 里面return的问题相关的知识,希望对你有一定的参考价值。

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

	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的问题的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript执行:try里面放return,finally还会执行吗?

JavaScript中在try里面放return,finally还会执行吗?

Java异常try里面有return,finally代码会执行吗

try-finally的时候try里面带return

try catch finally 块里都有return

java基础之异常——try{}里面有一个return语句,那么紧跟在try后的return语句还会执行吗?什么时候执行,在return前还是后?