I was going through SCJP 6 book by Kathe sierra and came across this explanations of throwing exceptions in overridden method. I quite didn\'t get it. Can any one explain it
Java is giving you the choice to restrict exceptions in the parent class, because it's assuming the client will restrict what is caught. IMHO you should essentially never use this "feature", because your clients may need flexibility down the road.
Java is an old language that is poorly designed. Modern languages don't have such restrictions.
The easiest way around this flaw is make your base class throw Exception
always. Clients can throw more specific Exceptions but make your base classes really broad.