catch (SQLException e)
catch (Exception e)
   public void removeAllMessageData(Serializable channelID) throws Exception   {      if (log.isTraceEnabled()) { log.trace("Removing all message data for channel: " + channelID); }      Connection conn = null;      PreparedStatement ps1 = null;      PreparedStatement ps2 = null;      TransactionWrapper wrap = new TransactionWrapper();      try      {         conn = ds.getConnection();                     ps1 = conn.prepareStatement(deleteChannelDeliveries);         ps2 = conn.prepareStatement(deleteChannelMessageRefs);                  ps1.setString(1, (String)channelID);         ps2.setString(1, (String)channelID);                  ps1.executeUpdate();         ps2.executeUpdate();      }      catch (SQLException e)      {         wrap.exceptionOccurred();         throw e;      }      finally      {                  if (ps1 != null)         {            try            {               ps1.close();            }            catch (Throwable e)            {}         }         if (ps2 != null)         {            try            {               ps2.close();            }            catch (Throwable e)            {}         }         if (conn != null)         {            try            {               conn.close();            }            catch (Throwable e)            {}         }         wrap.end();      }       }