黑马程序员技术交流社区

标题: 今天总结的try...catch...finally语句中加入return后的执行流程 [打印本页]

作者: 左右.律    时间: 2016-9-12 23:05
标题: 今天总结的try...catch...finally语句中加入return后的执行流程
首先是面试题:
[Java] 纯文本查看 复制代码
public class Test2 {

        public static void main(String[] args) {
                int s = method();
                System.out.println(s);
        }

        private static int method() {
                int x = 0;
                try {
                        x = 10;
                        System.out.println(1/0);
                        //Integer.parseInt("abc");
                        System.out.println("try里面如果出现异常,后面的语句不会执行");
                        return x;
                } catch (ArithmeticException e) {
                        x = 20;
                        return x;
                } catch (Exception e) {
                        x = 30;
                        return x;
                } finally {
                        x = 40;
                        System.out.println("finally");
                }
               
        }

}

画图描述过程
然后就是需要注意两点:
    ①:try ... catch...只会执行其中一条路径
    ②:finally是在return的执行后,结束前执行完毕的,并且不会影响return要执行的内容

try.png (122.98 KB, 下载次数: 10)

try.png





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