> On Jul 23, 2019, at 12:45 AM, Alan Bateman <alan.bate...@oracle.com> wrote:
> 
> On 23/07/2019 01:01, Brian Burkhalter wrote:
>> :
>> This version [1] adds writeBytes() and overrides write(byte[]) without 
>> changing its behavior. The documentation of write(byte[]) points the user to 
>> writeBytes() and write(byte[],int.int).
>> 
> The overridden write(byte[]) declares that it throws IOE so it's source 
> compatible but it behaves like the other PS.write methods in that checkError 
> is used to check for an error rather than throwing IOE.

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?

> This will need a bit more wording in the method description to make this 
> clearer. The change to the class description is confusing as it suggests that 
> the method throws IOE - maybe that change should be dropped to avoid trying 
> to explain the oddity in two places.

The current statement in the class doc without any change is however incorrect

"Unlike other output streams, a PrintStream never throws an IOException; […]”

so it seems something is needed here.

Thanks,

Brian

Reply via email to