throws Exception in finally blocks
I usually do it like this:
try { // Use the resource.} catch( Exception ex ) { // Problem with the resource.} finally { // Put away the resource. closeQuietly( resource );}
Elsewhere:
protected void closeQuietly( Resource resource ) { try { if (resource != null) { resource.close(); } } catch( Exception ex ) { log( "Exception during Resource.close()", ex ); }}