harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Okomin" <ilya.oko...@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:17:36 GMT
On 9/15/06, Andrew Zhang <zhanghuangzhu@gmail.com> wrote:

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


+1


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


-- 
--
Ilya Okomin
Intel Middleware Products Division

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