2006/4/24, Anton Avtamonov <[EMAIL PROTECTED]>: > 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...
Really? You mean that the spec is not transitively close? Can you give an example? Thanks, Mikhail > > 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] > > --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]