对的,你的代码是有问题的,你的 System.out.println(1);这句话是死语句,永远都执行不到.
我给你分析一下,首先,你的代码从main入口,然后调用了func()方法,这个时候进入func()方法,进入之后,你就手动的抛出了一个异常, throw new Exception();同时你又对这个异常进行了捕获.也就是,这个异常的语句执行完了之后就会进入catch语句中,也就是会执行 System.out.println(2);执行完勒之后,就会跳出func()这个方法,然后执行 System.out.println(3);
java代码中不允许死语句存在,也就是不允许有永远都不会执行到的语句.
所以,只要你把System.out.println(1);这句话去掉,就不会编译报错了,去掉之后,按照我刚才的分析,这个代码最后打印出来的一定是2和3.
你可以去掉System.out.println(1);这句代码试试.有不懂的再问 |