title: Why do I have to close JDBC resources in reverse order of use?
body: <p>Why do I have to close JDBC resources in reverse order of use?</p>
  <p>When I close a connection object, its statement object will be closed (only not using connection pool)
  And when I close a statement object, its resultset object will be closed (only not using cached statement)</p>
  <p>So why a resultset object should be closed before a statement object close? (on the assumption that each exceptions are handled.)
  All article I've seen say all JDBC resources should be closed in reverse order of use, but do not explain why.</p>