catch (SQLException e)
catch (Exception e)
   public List retrievePreparedTransactions() throws Exception   {      if (!storeXid)      {         return Collections.EMPTY_LIST;      }            Connection conn = null;      Statement st = null;      ResultSet rs = null;      TransactionWrapper wrap = new TransactionWrapper();      try      {         List transactions = new ArrayList();                  conn = ds.getConnection();         st = conn.createStatement();         rs = st.executeQuery(selectXATransactions);                  while (rs.next())         {                        //int transactionId = rs.getInt(1);            byte[] branchQual = this.getBytes(rs, 2, 0);            int formatId = rs.getInt(3);            byte[] globalTxId = this.getBytes(rs, 3, 0);            Xid xid = new XidImpl(branchQual, formatId, globalTxId);                        transactions.add(xid);         }                  return transactions;            }      catch (SQLException e)      {         wrap.exceptionOccurred();         throw e;      }      finally      {         if (rs != null)         {            try            {               rs.close();            }            catch (Throwable e)            {}         }         if (st != null)         {            try            {               st.close();            }            catch (Throwable e)            {}         }         if (conn != null)         {            try            {               conn.close();            }            catch (Throwable e)            {}         }         wrap.end();      }      }