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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 余善航 中级黑马   /  2013-1-20 23:57  /  1794 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


public class aa {
        public static void func(){
                try {
                        throw new Exception();  // 必须抛出的异常
                        System.out.println("A");
                } catch (Exception e) {
                        // TODO: handle exception
                        System.out.println("b");
                }
        }
         public static void main(String[] args){
                 try {
                        func();
                } catch (Exception e) {
                        // TODO: handle exception
                        System.out.println("c");
                }
                System.out.println("d");
         }
}
/* 必须抛出的异常。  那么a就执行不到了, 直接执行b呗, 然后 c 最后d  
不明白 为什么编译失败  视频看完 没懂*/

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

8 个回复

倒序浏览
  1. public static void func(){
  2.                 try {
  3.                         throw new Exception();  // 必须抛出的异常
  4.                         System.out.println("A"); //由于上面必定抛出异常,所以下面的代码毫无意义。所以呢。。。我觉得是编译器就不允许这样写了所以编译就报错。。。。。。。。。。。。。。
  5.                 } catch (Exception e) {
  6.                         // TODO: handle exception
  7.                         System.out.println("b");
  8.                 }
  9.         }
  10.          public static void main(String[] args){
  11.                  try {
  12.                         func();
  13.                 } catch (Exception e) {
  14.                         // TODO: handle exception
  15.                         System.out.println("c");
  16.                 }
  17.                 System.out.println("d");
  18.          }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
System.out.println("A");这句代码是unreachable code,执行不到的代码,是垃圾。编译器不会让你过,你把它删掉就行了

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
必定抛出异常语句后面的代码必定执行不到的!编译器的时候编译器会指出这句无法访问!其实楼主可以通过注释出现错误的代码找出问题哦!{:soso_e141:}
回复 使用道具 举报
System.out.println("A");这段代码不会执行到,所以编译器报错

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
System.out.println("A");它的上面已经是必定抛出异常,这句代码是永远执行不到,跟本毫无意义,垃圾,编译器会报错
回复 使用道具 举报
同意这个System.out.println("A");执行不到,垃圾适当删除!
回复 使用道具 举报
是不是还要在函数上声明一次throws exception啊,它不是runtimeexception的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马