黑马程序员技术交流社区

标题: 异常 疑惑 [打印本页]

作者: 余善航    时间: 2013-1-20 23:57
标题: 异常 疑惑

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  
不明白 为什么编译失败  视频看完 没懂*/
作者: 柴乔军    时间: 2013-1-21 00:02
  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.          }
复制代码

作者: 黄锦成    时间: 2013-1-21 00:27
System.out.println("A");这句代码是unreachable code,执行不到的代码,是垃圾。编译器不会让你过,你把它删掉就行了
作者: 全超    时间: 2013-1-21 01:33
必定抛出异常语句后面的代码必定执行不到的!编译器的时候编译器会指出这句无法访问!其实楼主可以通过注释出现错误的代码找出问题哦!{:soso_e141:}
作者: 高会仁    时间: 2013-1-21 10:17
System.out.println("A");这段代码不会执行到,所以编译器报错
作者: 高浩    时间: 2013-1-23 16:00
System.out.println("A");它的上面已经是必定抛出异常,这句代码是永远执行不到,跟本毫无意义,垃圾,编译器会报错
作者: 何家旺    时间: 2013-1-23 16:42
同意这个System.out.println("A");执行不到,垃圾适当删除!
作者: 江大海    时间: 2013-1-24 09:23
是不是还要在函数上声明一次throws exception啊,它不是runtimeexception的




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