This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi 'LL I wanted to know why an overriding method cannot throw any checked exception other than the same excpetion or subclass of an exception thrown by the overrridden method?? why java made it necessary.. thank you rishi
Hi, Greetings all. I give my thoughts on this: Overriding is a form of polymorphism. We all know when we override a method, the same method exists in its super class with probably different implementation. Also, it is possible to cast subclass' object to superclass' and call superclass' methods. Subclass is basically "a super class" with added functionalities. So when we call superclass method ( typically overridden method), the sub class overridden method at least 'should match' its superclass method. The subclass method should 'at least' be same as its superclass with respect to access and also exceptions thrown if any. Again, if subclass throws same or more specific ( i.e. subclass of exception), it is possible to cast to its superclass. but not vice versa. So the restictions for exceptions and also for access. i.e Overridden method is 'at least' have access of its super class method or more 'access' but not less. Pardon me if I confused you more!