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

来源:互联网 发布:照片打印软件 编辑:程序博客网 时间:2024/04/28 10:53

首先,无论是否出现异常,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.

0 0
原创粉丝点击