A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Nathan矫立伟 中级黑马   /  2014-6-13 23:39  /  750 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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哪个版本之后做出的改变呢?

1 个回复

正序浏览
A还没有执行呢,就直接抛出异常,属于不可达代码。任何情况下都不会执行,在编译时期就报错。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马