Originally posted by ben oliver:
Result rs = ....;
...
..
rs.close();
For "rs.close()",
1. if we know rs is not null, is it possible that "rs" still can not be closed due to some SQLException ?
2. if ResultSet can not be closed for some reason, can we still close a Statement ?
1. yes, certainly. Easy example: the database has crashed...
2. sometimes yes, sometimes no. With good networks and a good database and a
Java program running on a machine that's not overloaded, it will be incredibly incredibly rare to have a rs.close() error and have its related Statement.close() succeed, so much so that many good programmers will do them all in one try/catch. However, it a situation with intermittent network or OS problems it becomes more likely, and many good programmers will therefore put each of them in their own try/catch blocks.