exception.Divide(12,-2);
}catch(ArithmeticException e)...{
e.printStackTrace();
}catch(DivisorIsMinusException e)...{
System.out.println(e.toString());
}
finally...{
System.out.println("finally!");
}
System.out.println("finishing!");
}
}
exception.Divide(12,-2);
}catch(ArithmeticException e)...{
e.printStackTrace();
}catch(DivisorIsMinusException e)...{
System.out.println(e.toString());
}
finally...{
System.out.println("finally!");
}
System.out.println("finishing!");
}
}编译出错:

如果想要编译成功,必须让MyChildException类的方法Divide()抛出的异常类是MyException类中方法Divide()的一个子集。
也就是,让MyChildException类的方法Divide()只抛出ArithmeticException或者DivisorIsMinusException或者两者都都抛出。
因为MyException类中方法Divide()方法只抛出了ArithmeticException,DivisorIsMinusException这两个异常类。
FileNotFoundException类是java.io包中的异常类,必须用import将其包含进去。
然而,构造方法是例外的,子类的构造方法抛出的异常类可以与父类构造方法的不同,举例如下:
import java.io.*;
class MyException...{
MyException()throws ArithmeticException...