黑马程序员技术交流社区

标题: 如果catch里面有return语句,请问finally的代码还会执行吗 [打印本页]

作者: 曼舞雪菲    时间: 2016-8-1 22:23
标题: 如果catch里面有return语句,请问finally的代码还会执行吗
        public static void main(String[] args) {
                Demo d = new Demo();
                System.out.println(d.method());
        }

}

class Demo {
        public int method() {
                int x = 10;
                try {
                        x = 20;
                        System.out.println(1/0);
                        return x;
                } catch (Exception e) {
                        x = 30;
                        return x;
                } finally {
                        x = 40;
                        //return x;                                        千万不要在finally里面写返回语句,因为finally的作用是为了释放资源,是肯定会执行的
                                                                                //如果在这里面写返回语句,那么try和catch的结果都会被改变,所以这么写就是犯罪
                }
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2