抛出异常

时间:2016-05-11 09:08:12

标签: java compilation throws

public class A {
    public void f(A a) {
        System.out.print("in A ");
    }
}

public class B extends A {

    public static void main(String[] args) {
        B b = new B();
        A a = new A();
        b.f(b);
        b.f(a);
    }
}

为什么在B类中添加以下方法会出现编译错误?

众所周知,如果方法抛出某些内容,则不必在方法标题中声明...

public void f(A a) { 
    System.out.println("in B"); 
    throw new java.io.IOExeption();
}

1 个答案:

答案 0 :(得分:0)

  

众所周知,如果方法抛出某些东西,则不必在方法头

中声明它

仅对未经检查的例外情况有效。您的方法抛出== null这是已检查的异常,因此您必须捕获它或声明抛出它,否则编译将失败。