You cannot have a Subclass method throw a more general checked exception than the individual parent method which it is overriding throws. 


  You cannot have a Subclass method throw checked exceptions from a different hierarchy than what the parent method throws. 


  After a checked exception, an overriding subclass method can catch and do the following:

(1) rethrow the same exception,

(2) throw a subclass of the exception, or

(3) throw nothing.


                        i.e they can throw NONE, SAME, or LOWER


 The syntax of rethrowing or rethrowing is as follows:


For throwing:                throw new ArithmeticException( “A problem” );           or

For rethrowing:             catch (ArithmeticException e) { some code; throw e;}