FilterOutputStream.close() throws exception from flush()
Alan Bateman
Alan.Bateman at oracle.com
Fri Feb 10 13:46:48 UTC 2012
On 10/02/2012 13:09, Alex Lam S.L. wrote:
> Hi there,
>
> I have some code which calls FilterOutputStream.close(), which calls
> the underlying OutputStream.flush() which throws IOException.
>
> With previous versions of JavaSE, close() returns successfully without
> any problems.
>
> Using JDK8-b24, I get an IOException which is propagated from flush().
>
> Is there any reason for this change in behaviour?
>
>
> Regards,
> Alex.
This was deliberate change as FilterOutputStream.close was silently
ignoring the exception from the flush (a serious bug in my view). In the
original discussion [1] I noted that we may have to consider a
compatible switch in the event that it causes problems for applications
that don't expect close to fail. You may be the first.
-Alan
[1]
http://mail.openjdk.java.net/pipermail/core-libs-dev/2011-August/007326.html
More information about the core-libs-dev
mailing list