Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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
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)