forax at univ-mlv.fr
Fri Jun 28 14:40:57 PDT 2013
On 06/28/2013 11:05 PM, Joe Bowbeer wrote:
> On Fri, Jun 28, 2013 at 1:20 PM, Brian Goetz <brian.goetz at oracle.com
> <mailto:brian.goetz at oracle.com>> wrote:
> 1. What happens if close needs to throw an exception? Why is
> this form
> of close different from others?
> It was a mistake from Day 1 to allow Reader.close() and friends to
> throw anything checked. I mean, what could a caller *possibly do*
> to respond to such an exception? Close it again? OK, live and learn.
> Treat it like the IOException that it is! How does an app respond to
> IO exceptions? They often give the user the chance to try again...
> They generally don't silently ignore or crash.
> The proper handling of code like this involves a try-finally (resource
> management) nested inside a try-catch (to manage IO exception), in
> which case the IOException on close does not need special handling.
This is older than Java Day 1, Unix close() can return 1 with errno=EIO.
More information about the lambda-libs-spec-observers