Forums Register Login

Overriding and checked Exceptions - Basic Doubt

+Pie Number of slices to send: Send
In answering the previous post on overriding, I got into this doubt. I am not able to reason it . Cud somebody help?
An Overriding method cannot throw any more Checked Exception than the overriden method.
My Question is WHY
I was trying to reason saying that when the object reference of the parent class finds a child object and if there is a overriden method in it which throws more checked Exceptions ...
... then I am lost!!!
I say.. so what ? It is after all an extended functionality ... I am not cutting off any of the parent's functionality .... !!
Where am I going wrong ?
+Pie Number of slices to send: Send
Hi Jennifer,
The reason that an overriding method is not allowed throw any more rather different checked expections than the function it is overriding because in a situation where client code wants to treat a hierarchy of objects polymorphically (access methods in all of them as base class ) the client has no way of determining that there is an overidden function in some class in hierarchy which throws some exception which it does not expect to be thrown.
Consider the following code:
try
{
for(int i = 0; i < someArray.length; i ++)
{
someArray[i].someBaseClassOverridenMethod();
}
}
catch(ExceptionThrowInBaseClassMethod e){}
where someArray consists of objects of classes derived from same base class. Had it been allowed to add more exceptions, it would make writing such a code impossible.
Regards,
Bhushan
+Pie Number of slices to send: Send
Thanks Bhushan ! that settles it!
He's my best friend. Not yours. Mine. You can have this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 609 times.
Similar Threads
overriding doubt
Doubt
Overriding method doubt
Exception doubt
A doubt in Exception
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 10:03:24.