private boolean closeStatements ( ) { // JDBC API says... // Calling the method close on a Statement object that is already closed has no effect. // Note: When a Statement object is closed, its current ResultSet object, if one exists, is also closed. boolean hasUnclosed = false ; if ( openStatements . size ( ) > 0 ) { for ( Statement stmt : openStatements ) { try { if ( ! stmt . isClosed ( ) ) { stmt . close ( ) ; hasUnclosed = true ; } } catch ( SQLException e ) { hasUnclosed = true ; setLogicalCloseException ( e ) ; } catch ( Throwable t ) { hasUnclosed = true ; if ( logicalCloseException == null ) { if ( Util . isRuntimeError ( t ) ) { setLogicalCloseException ( t ) ; } else { setLogicalCloseException ( new SQLException ( t ) ) ; } } } } openStatements . clear ( ) ; } return hasUnclosed ; }
Check for unclosed statements .