Path: csiph.com!news.redatomik.org!aioe.org!.POSTED!not-for-mail From: =?UTF-8?Q?Arne_Vajh=c3=b8j?= Newsgroups: comp.lang.java.programmer Subject: Re: Not closing a SQL(ite3) connection Date: Sat, 12 Aug 2017 09:55:24 -0400 Organization: Aioe.org NNTP Server Lines: 46 Message-ID: References: <87a839um2q.fsf@munus.decebal.nl> <874lte1pdj.fsf@munus.decebal.nl> <87bmnlyrx7.fsf@munus.decebal.nl> NNTP-Posting-Host: PBuS014lhzVyHjLbXmo/ZQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.java.programmer:37146 On 8/12/2017 6:57 AM, Cecil Westerhof wrote: > This was only for testing purposes. My real code has become: > @Override > public void close() throws SQLException { > boolean closedResultSet = false; > > try { > Statement stmt = resultSet.getStatement(); > > resultSet.close(); > closedResultSet = true; > stmt.close(); > } catch (SQLException e) { > if (closedResultSet) { > SQLException extException = new SQLException("Could not close Statement after closing ResultSet."); > > extException.addSuppressed(e); > e = extException; > } > throw e; > } > } > > The String will be done with a variable of-course. Beside that: is the > code OK, or can it be improved? I see little value in this over the much more simple: @Override public void close() throws SQLException { Statement stmt = resultSet.getStatement(); resultSet.close(); stmt.close(); } :-) The original SQLException should contain sufficient information. I don't see "Could not close Statement after closing ResultSet." adding value. Arne