harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stepan Mishura" <stepan.mish...@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 Thu, 14 Sep 2006 10:17:03 GMT
On 9/14/06, Andrew Zhang wrote:
>
> There are two reasons:
>
> 1. Spec has explicitly pointed out "No validation of the inputs is
> performed
> by this constructor."



In this spec. quotation above there is one thing that confuses me - "THIS
CONSTRUCTOR". May this mean that validation of inputs is perform, for
example, only by corresponding protocol handler?

This looks logical because only protocol handler can verify whether params
are correct or not.

Thanks,
Stepan.

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

-- 
Thanks,
Stepan Mishura
Intel Middleware Products Division

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

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