关于异常处理的return

无论try代码块中是否有异常,finally里的代码都会执行

当try和catch代码块中有return语句时,finally仍然会执行

如果try…catch…finally都有return语句,则等待try catch执行完之后,跳过try catch里的return语句只执行finally中的return语句

如果仅仅是try…catch里有return语句,那么在执行return语句之前会先执行finally代码块里的内容

public static void main(String[] args) {
        System.out.println(test());
    }

    public static int test() {
        try {
            return 1;
        }catch (Exception e){
            return 2;
        }finally {
            return 3;
        }
    }
方法返回值是:3
posted @ 2020-12-06 20:17  yikolemon  阅读(28)  评论(0)    收藏  举报