Ok, the second reason is convincing

Thanks,
Mikhail

2006/9/14, Andrew Zhang <[EMAIL PROTECTED]>:
There are two reasons:

1. Spec has explicitly pointed out "No validation of the inputs is performed
by this constructor."

2. The exception thrown sequence is really hard to follow, as described by
Ilya, see examples below:

1. new URL("ss", "0", -3, null);
java.net.MalformedURLException: Invalid port number :-3

2. new URL("ss", null, -3, null);
java.lang.NullPointerException

3. new URL("ss", "0", -3, "file");
java.net.MalformedURLException: Invalid port number :-3

4. new URL("ss", null, -3, "file");
java.net.MalformedURLException: unknown protocol: ss

5. new URL("ss", "0", -1, null);
java.lang.NullPointerException

Yes, we should follow RI for exception thrown sequence if possible. But for
thise case, would anyone suggest how to throw exception to follow RI?





On 9/14/06, Mikhail Loenko <[EMAIL PROTECTED]> wrote:
>
> It's not clear why it should be non-bug diff?
>
> Shouldn't it be fixed to follow RI?
>
> Thanks,
> Mikhail
>
> 2006/9/14, Andrew Zhang <[EMAIL PROTECTED]>:
> > Would any commiter like to confirm and close this "non-bug differences
> from
> > RI" jira? Thanks!
> >
> > On 9/13/06, Andrew Zhang <[EMAIL PROTECTED]> wrote:
> > >
> > > From: Andrew Zhang (JIRA) <[EMAIL PROTECTED]>
> > > Date: Sep 13, 2006 11:02 AM
> > > Subject: [jira] Commented: (HARMONY-1158)
> [classlib][luni]Compatibility:
> > > java.net.URL new URL("ss", null, -3, null) throws
> MalformedURLException
> > > while RI throws NPE
> > > To: [EMAIL PROTECTED]
> > >
> > >    [
> > >
> 
http://issues.apache.org/jira/browse/HARMONY-1158?page=comments#action_12434348
> ]
> > >
> > > Andrew Zhang commented on HARMONY-1158:
> > > ---------------------------------------
> > >
> > > Ilya, I agree with you. Spec has explicitly pointed out "No validation
> of
> > > the inputs is performed by this constructor."
> > >
> > > The tests show that the exception thrown sequence is uncertain and
> > > implemention-dependent.
> > >
> > > If no application and test cases are broken by currenty Harmony code,
> I
> > > suggest not fix the problem.
> > >
> > > Best regards,
> > > Andrew
> > >
> > > > [classlib][luni]Compatibility: java.net.URL new URL("ss", null, -3,
> > > null) throws MalformedURLException while RI throws NPE
> > > >
> > >
> 
--------------------------------------------------------------------------------------------------------------------------
> > > >
> > > >                 Key: HARMONY-1158
> > > >                 URL:
> http://issues.apache.org/jira/browse/HARMONY-1158
> > > >             Project: Harmony
> > > >          Issue Type: Bug
> > > >          Components: Non-bug differences from RI
> > > >            Reporter: Ilya Okomin
> > > >
> > > > Compatibility. Different order of exceptions.
> > > > RI throws unspecified NPE in java.net.URL("ss", null, -3, null)
> > > constructor if host ==null while Harmony at first checks port and
> throws
> > > MalformedURLException.
> > > > If host != null both RI and Harmony throw MalformedURLException.
> > > > =============test.java=============
> > > > import java.net.*;
> > > > public class test  {
> > > >     public static void main (String[] args) {
> > > >        try {
> > > >             new URL("ss", "0", -3, null);
> > > >        } catch (Exception e) {
> > > >            e.printStackTrace();
> > > >        }
> > > >        try {
> > > >             new URL("ss", null, -3, null);
> > > >        } catch (Exception e) {
> > > >            e.printStackTrace();
> > > >        }
> > > >     }
> > > > }
> > > > =======================================
> > > > Output on RI:
> > > > java.net.MalformedURLException : Invalid port number :-3
> > > >         at java.net.URL.<init>(URL.java:373)
> > > >         at java.net.URL.<init>(URL.java:283)
> > > >         at test.main(test.java:7)
> > > > java.lang.NullPointerException
> > > >         at java.net.Parts.<init>(URL.java:1259)
> > > >         at java.net.URL.<init>(URL.java:380)
> > > >         at java.net.URL.<init>(URL.java:283)
> > > >         at test.main(test.java:13)
> > > > Output on Harmony:
> > > > java.net.MalformedURLException: Port out of range: -3
> > > >         at java.net.URL.<init>(URL.java:393)
> > > >         at java.net.URL.<init>(URL.java:367)
> > > >         at test.main(test.java:7)
> > > > java.net.MalformedURLException: Port out of range: -3
> > > >         at java.net.URL.<init>(URL.java:393)
> > > >         at java.net.URL.<init>(URL.java:367)
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > If you think it was sent incorrectly contact one of the
> administrators:
> > > http://issues.apache.org/jira/secure/Administrators.jspa
> > > -
> > > For more information on JIRA, see:
> http://www.atlassian.com/software/jira
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Andrew Zhang
> > > China Software Development Lab, IBM
> > >
> >
> >
> >
> > --
> > Andrew Zhang
> > China Software Development Lab, IBM
> >
> >
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Andrew Zhang
China Software Development Lab, IBM



---------------------------------------------------------------------
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