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]