Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #37136

Re: Not closing a SQL(ite3) connection

Path csiph.com!news.redatomik.org!aioe.org!.POSTED!not-for-mail
From Arne Vajhøj <arne@vajhoej.dk>
Newsgroups comp.lang.java.programmer
Subject Re: Not closing a SQL(ite3) connection
Date Fri, 11 Aug 2017 20:27:30 -0400
Organization Aioe.org NNTP Server
Lines 55
Message-ID <omli1h$jt7$1@gioia.aioe.org> (permalink)
References <87a839um2q.fsf@munus.decebal.nl> <omg0la$1qe3$1@gioia.aioe.org> <874lte1pdj.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
X-Notice Filtered by postfilter v. 0.8.2
Content-Language en-US
Xref csiph.com comp.lang.java.programmer:37136

Show key headers only | View raw


On 8/11/2017 4:26 AM, Cecil Westerhof wrote:
> I have a strange problem. I made a class SQLite3ResultSet. There is a
> lot of stuff to be removed, but that is just to find out if it is
> doing what I think it is doing.

> And the close method is (for now, because I want to test it):
>      @Override
>      public void close() throws SQLite3Exception {
>          System.out.println("SQLite3ResultSet: closing open resources.");
>          String    errorMsg  = "";
> 
>          try {
>              stmt.close();
>              resultSet.next();
>              resultSet.close();

resultSet.close();
stmt.close();

was rather obvious.

:-)

>          } catch (SQLException e) {
>              errorMsg += "Could not close ResultSet.\n";
>              System.out.println(errorMsg);
>          }
>          System.out.println("Closed resultSet.");
>          try {
>              stmt.close();
>          } catch (SQLException e) {
>              errorMsg += "Could not close Statement belonging to ResultSet.\n";
>              System.out.println(errorMsg);
>          }
>          System.out.println("closed stmt");
>          System.out.println("SQLite3ResultSet: closed open resources.");
>          if (!errorMsg.isEmpty()) {
>              throw new SQLite3Exception(errorMsg);
>          }
>      }
> 
> In the first try I close the stmt and then I do a resultSet.next(). I
> would expect an exception, because I closed the stmt, but I do not get
> an exception. Why not?

There is nothing in documentation for next() requiring an exception to
be thrown (ResultSet is not closed and it may not get a database error -
maybe it does not even talk to the database).

Weird code can give weird outcome, because the author of the
code may never have considered the case.

Arne

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 11:28 +0200
  Re: Not closing a SQL(ite3) connection Arne Vajhøj <arne@vajhoej.dk> - 2017-08-09 18:00 -0400
    Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-11 10:26 +0200
      Re: Not closing a SQL(ite3) connection Arne Vajhøj <arne@vajhoej.dk> - 2017-08-11 20:27 -0400
        Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-12 10:00 +0200
          Re: Not closing a SQL(ite3) connection Andreas Leitgeb <avl@logic.at> - 2017-08-12 08:51 +0000
            Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-12 11:05 +0200
          Re: Not closing a SQL(ite3) connection Arne Vajhøj <arne@vajhoej.dk> - 2017-08-12 09:52 -0400
            Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-12 16:26 +0200
              Re: Not closing a SQL(ite3) connection Arne Vajhøj <arne@vajhoej.dk> - 2017-08-12 21:43 -0400
                Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-15 08:19 +0200
          Re: Not closing a SQL(ite3) connection lewbloch@gmail.com - 2017-08-12 10:14 -0700
        Re: Not closing a SQL(ite3) connection Andreas Leitgeb <avl@logic.at> - 2017-08-12 09:33 +0000
          Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-12 12:57 +0200
            Re: Not closing a SQL(ite3) connection Andreas Leitgeb <avl@logic.at> - 2017-08-12 13:27 +0000
              Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-12 16:37 +0200
            Re: Not closing a SQL(ite3) connection Arne Vajhøj <arne@vajhoej.dk> - 2017-08-12 09:55 -0400
              Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-12 16:44 +0200
                Re: Not closing a SQL(ite3) connection Arne Vajhøj <arne@vajhoej.dk> - 2017-08-12 21:45 -0400
            Re: Not closing a SQL(ite3) connection Martin Gregorie <martin@address-in-sig.invalid> - 2017-08-12 21:04 +0000
              Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-13 00:30 +0200
                Re: Not closing a SQL(ite3) connection Martin Gregorie <martin@address-in-sig.invalid> - 2017-08-13 11:34 +0000
                Re: Not closing a SQL(ite3) connection Cecil Westerhof <Cecil@decebal.nl> - 2017-08-13 15:27 +0200
          Re: Not closing a SQL(ite3) connection Andreas Leitgeb <avl@logic.at> - 2017-08-12 13:06 +0000

csiph-web