harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George Harley <george.c.har...@googlemail.com>
Subject Re: [classlib] Exception throwing compatibility
Date Fri, 12 May 2006 10:16:55 GMT
Chris Gray wrote:
> On Friday 12 May 2006 11:37, George Harley wrote:
>> Nathan Beyer wrote:
>>> Note, the RI is NOT throwing ArrayIndexOutOfBoundsExceptions, it is just
>>> letting them happen via invalid array look ups, but in these cases, the
>>> specification is marked with an IndexOutOfBoundsException.
>> Hi Nathan,
>> If we consider the RI as a "black box" whose internals should be
>> completely hidden from us - a starting point that I think is important
>> to all participants of this project (and their legal representatives) -
>> then it does not matter *why* the RI is throwing the AIOOBE. It just does.
> Right, and in general we cannot know exactly which exception type the RI will 
> throw in any specific case - we have to start from the assumption that it 
> follows the spec, and take note of any deviations or more specific behaviour 
> that turns up. It's not possible to exhaustively test every exception case.

Hi Chris,

Absolutely agree with you that we should not be looking to exhaustively 
test every exception case. We have to work in a mode where we respond to 
each deviation as we become aware of them.

>> What will matter more to potential Harmony adopters ? Adherence to the
>> spec or ease of transition of their apps from the RI to Harmony ? In
>> this case we can satisfy the spec and enable runtime compatibility by
>> throwing the identical concrete exception type.
> If the app is written to the spec there's no problem. But in real life it can 
> happen that the developer doesn't look at the spec - during testing her code 
> throws an AIOOBE, so she adds an exception handler for that case. In this 
> case we make this (incorrect) app run by copying RI's behaviour (insofar as 
> we can determine what this is). But if RI throws 
> sun.util.FunnyIndexOutOfBoundsException and the programmer codes to this, 
> we're hosed - the app has to fixed.
> Chris

Indeed. We can only throw something with the same 
public/non-implementation-specific supertype and hope for the best.

Best regards,


Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org

View raw message