您的位置:首页 > 编程语言 > Java开发

java 中 try catch finally 语句的执行顺序

2015-08-01 14:11 721 查看
首先,无论是否出现异常,finally中的语句是一定会被执行的。

其次,先执行try中语句,最后执行finally中语句

最后,return语句返回后,是先放在栈中存放,语句结束后使用。

看下面的例子:

public class TryTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         System.out.println(new TryTest().test() );
    }

    @SuppressWarnings("finally")
    int test(){
        try {
            return res1();
        } finally{
            return res2();
        }
    }

    int res1(){

    System.out.println("res1"); 
    return 1;
    }
    int res2(){

        System.out.println("res2"); 
        return 2;
        }

}


运行结果:

res1

res2

2

可以看出,先执行try中语句,将try中返回值先保存在栈中,由于在执行完finally中语句后,返回值修改为2,所以最后得到的返回值为2.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: