I suggest follow RI for this case. Because spec says nothing about NPE in
DataOutputStream(OutputStream) constructor, and following spec may cause
legacy applications broken. Furthermore, RI's behaviour is acceptable this
time. :)

On 8/8/06, Vladimir Ivanov <[EMAIL PROTECTED]> wrote:

I need a consultation: should we follow RI or spec in the case of issue
1100?

Thanks, Vladimir


On 8/8/06, Vladimir Ivanov (JIRA) <[EMAIL PROTECTED]> wrote:
>
> [classlib][io] compatibility: Harmony method
> DataOutputStream(null).writeBytes("") throws NPE while RI does not
>
>
---------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1100
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1100
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>
>
> The spec says for the java.io package: "Unless otherwise noted, passing
a
> null argument to a constructor or method in any class or interface in
this
> package will cause a NullPointerException to be thrown".
> and says nothing about 'null' for DataOutputStream constructor.
> So, according to spec the  DataOutputStream(null) should lead to the NPE
> instead of writeBytes but according to RI no NPE for constructor and
> zero-length string for writeBytes.
>
> =================== test.java =========================
> import java.io.DataOutputStream;
>
> public class test {
>    public static void main(String args[]) throws Exception {
>        System.out.println("res = " + new DataOutputStream(null));
>        new DataOutputStream(null).writeBytes("");
>        System.out.println("OK");
>    }
> }
> ===================================================
>
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp .
> -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32,
> R25.0.0-75, GC: System optimized over throughput (initial strategy
> singleparpar))
>
> res = [EMAIL PROTECTED]
> OK
>
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -cp .
> -showversion test
> java version 1.5 (subset)
>
> (c) Copyright 1991, 2006 The Apache Software Foundation or its
licensors,
> as applicable.
> res = [EMAIL PROTECTED]
> Exception in thread "main" java.lang.NullPointerException
>        at java.io.DataOutputStream.writeBytes(DataOutputStream.java:163)
>        at test.main(test.java:6)
>
>
> --
> 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

Reply via email to