Java has some strict rules for exception handling when it comes to inheritance and overriding of methods.
Consider this example:
class Base { void amethod() { }}class Derv extends Base{ void amethod() throws Exception { } //compile-time error public static void main( String s[] ) { Base b = new Derv(); // line 12 b.amethod(); // line 13 }}
The above code gives an error when compiled. The reason for this is that when the subclass overrides a method of the super class, the method definition in the subclass can only specify all or a subset of the exception classes in the throws clause of the overridden method in the superclass.
What