黑马程序员技术交流社区

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

作者: 我干阿衰    时间: 2015-5-13 21:25
标题: 如果try.........catch....里面有return语句,请问finally的代码还会执行吗?
如果try.........catch....里面有return语句,请问finally的代码还会执行吗?
如果会,请问是在return前还是return后?   具体如下代码,请问返回的X是多少?
public class ExceptionTest2 {
        public static void main(String[] args) {
                int result = method2(10);
               
                System.out.println(result);
                //System.out.println("结束了");
               
        }
        private static int method2(int x) {
                try{
                        System.out.println(x/0);
                } catch (ArithmeticException e) {
                        System.out.println("异常产生了");
                        return x;
                } finally {
                        System.out.println("解决异常了");
                        x++;
                }
               
                return 0;
        }


作者: tanzhixue    时间: 2015-5-13 21:35
如果在catch里面有return,finally语句会在return之前执行 所以 如果x=2,返回就是3了




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