理解这个问题你首先要明白一点,在程序中除了RuntimeException和error之外,所有的异常都需要在程序方法上用throws
声明抛出或用try-catch捕获;
像下面的程序:
class Fu{
public void method()throws IOException{
........}
}
class Zi extends FU{
public void method()throws Exception{
..........}
}
在子类方法中声明抛出了比父类范围更大的异常;这在编译的时候显然就不会通过;
当子类抛出了不是IOException体系中异常时;系统就无法处理:
|