Jumping in here as this change is starting to really confuse me ...

On 24/07/2019 2:41 am, Brian Burkhalter wrote:


On Jul 23, 2019, at 8:27 AM, Brian Burkhalter <brian.burkhal...@oracle.com> 
wrote:

On Jul 23, 2019, at 8:20 AM, Alan Bateman <alan.bate...@oracle.com 
<mailto:alan.bate...@oracle.com>> wrote:

On 23/07/2019 16:08, Brian Burkhalter wrote:

I don’t see what you mean.
    @Override
    public void write(byte buf[]) throws IOException {
        super.write(buf);
    }
Should “trouble” be set and the IOE re-thrown?

super.write(byte[]) will invoke PrintStream overrides write(byte[], int, int) 
so IOE won't be thrown (and why the proposed change to the class description 
isn't right). The method description is probably the best place to describe the 
behavior.

Here is an update which accounts for the foregoing comments.

http://cr.openjdk.java.net/~bpb/8187898/webrev-alt.02/

 609     @Override
 610     public void write(byte buf[]) throws IOException {
 611         super.write(buf, 0, buf.length);
 612     }

This is wrong! The whole point of this bug is to ensure that PrintStream methods honour its contract of NEVER throwing IOException. I mean that is what the bug synopsis and description are all about!

David
-----

Thanks,

Brian

Reply via email to