On 9/14/06, Alexey Petrenko wrote:
2006/9/14, Stepan Mishura : > 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. Almost right. But if RI passes all the parameters to protocol handler then it should throw unknown protocol for all these cases. Since "ss" is unknown protocol. And you do not need a protocol handler to understand that port number can not have a negative value :)
Not agree. What if I add a custom protocol handler that accepts negative port values? Thanks, Stepan.
SY, Alexey > > 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 <[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
-- Thanks, Stepan Mishura 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]