You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Andrew Zhang <zh...@gmail.com> on 2006/09/13 07:00:41 UTC
[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 while RI
From: Andrew Zhang (JIRA) <ji...@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