As previously considered, the specification of the try-with-resources statement has been updated to require uniform suppression of all throwables. That is, the semantics of the code around the implicitly generated calls to close was previously
try {
#resource.close();
} catch(Exception #suppressedException) {
#primaryException.addSuppressedException(#suppress edException);
}
and has been replaced with
try {
#resource.close();
} catch(Throwable #suppressedException) {
#primaryException.addSuppressedException(#suppress edException);
}
(The initial implementation actually implemented the latter semantics; a test has been added to verify the behavior.)



Read More about [Project Coin: Uniform Suppression in try-with-resources...