harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Zhang" <zhanghuang...@gmail.com>
Subject Re: [classlib][luni] java.net.URL(String, String, int, String) constructor exception thrown sequence (was re: [jira] Commented: (HARMONY-1158) [classlib][luni]Compatibility: java.net.URL new URL("ss", null, -3, null) throws MalformedURLException whil
Date Fri, 15 Sep 2006 14:05:32 GMT
On 9/14/06, Mikhail Loenko <mloenko@gmail.com> wrote:
>
> Ok, the second reason is convincing


I also gave up to follow RI because of it! If anyone could fix this bug
elegantly or not too ugly, I have no objection. :-) Otherwise, I  don't
think following RI makes sense.  Thanks!

>Thanks,
>Mikhail

2006/9/14, Andrew Zhang <zhanghuangzhu@gmail.com>:
> 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 <mloenko@gmail.com> 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 <zhanghuangzhu@gmail.com>:
> > > Would any commiter like to confirm and close this "non-bug differences
> > from
> > > RI" jira? Thanks!
> > >
> > > On 9/13/06, Andrew Zhang <zhanghuangzhu@gmail.com> wrote:
> > > >
> > > > From: Andrew Zhang (JIRA) <jira@apache.org>
> > > > 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: harmony-commits@incubator.apache.org
> > > >
> > > >    [
> > > >
> >
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: harmony-dev-unsubscribe@incubator.apache.org
> > For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >
> >
>
>
> --
> Andrew Zhang
> China Software Development Lab, IBM
>
>

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





-- 
Andrew Zhang
China Software Development Lab, IBM

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message