On 4/24/06, Mikhail Loenko <[EMAIL PROTECTED]> wrote:
> Look at HARMONY-387.
>
> Example:
> 1) java.io.ByteArrayOutputStream.write(byte[] b , int off, int len):
> Harmony throws ArrayIndexOutOfBoundsException when off<0 or/and len
> <0, while RI throws IndexOutOfBoundsException.
> Specification mentions neither ArrayIndexOutOfBoundsException nor
> IndexOutOfBoundsException.
>
>
> Actually ArrayIndexOutOfBoundsException is a sub class of
> IndexOutOfBoundsException.
>
> So the statement "both Harmony and RI throw IndexOutOfBoundsException" is
> true.
>
> But do we have to throw exactly those exceptions that are thrown by RI?

I think so. If RI behavior is reasonable and doesn't contradict to the
spec (as above) we should unconditionally copy RI behavior.

Really, why do we need additional differences even though we
absolutely sure that particular minor deviation would have no impact
on client apps?


> Can we throw
> o.a.h.VMRisenNPE that extends NullPointerException?
>
> What if they throw kind of
> sun.internal.SunFavoriteSubClassOfNullPointerException ?

Yeah, in case RI operates with classes not from public API I would
propose to base on spec. Or use the nearest class from public API if
spec doesn't work for some reasons.
Actually, spec even contains sometimes references to the classes from
not public API...

Wishes,
--
Anton Avtamonov,
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to