黑马程序员技术交流社区

标题: 程序运行结果疑问之三 [打印本页]

作者: Nathan矫立伟    时间: 2014-6-13 23:39
标题: 程序运行结果疑问之三
  1. class Demo
  2. {       
  3.         public static void func()
  4.         {
  5.                 try
  6.                 {
  7.                         throw  new Exception();
  8.                         System.out.println("A");
  9.                 }
  10.                 catch(Exception e)
  11.                 {
  12.                         System.out.println("B");
  13.                 }
  14.         }
  15.         public static void main(String[] args)
  16.         {
  17.                 try
  18.                 {
  19.                         func();
  20.                 }
  21.                 catch(Exception e)
  22.                 {
  23.                         System.out.println("C");
  24.                 }
  25.                 System.out.println("D");
  26.         }
  27. }
复制代码
System.out.println("A");这句是永远执行不到的。我记得之前看毕老师的视频有提过类似的问题,好像毕老师当时说像这种执行不到的语句你可以任意写,因为执行不到。为什么现在会编译失败?
请大神们给一个专业的回答,是JDK哪个版本之后做出的改变呢?


作者: 496080891    时间: 2014-6-14 02:15
A还没有执行呢,就直接抛出异常,属于不可达代码。任何情况下都不会执行,在编译时期就报错。




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