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

From Arne Vajhøj <arne@vajhoej.dk>
Newsgroups comp.lang.java.programmer
Subject Re: Not closing a SQL(ite3) connection
Date 2017-08-11 20:27 -0400
Organization Aioe.org NNTP Server
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>

Show all headers | 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