logCause(e); throw new JBossJMSException(e.getMessage(), e);
logCause(e); throw new JBossJMSException("Caught exception", e);
   public Object invoke(Invocation invocation) throws Throwable   {      try      {         return invocation.invokeNext();      }             catch(JMSException e)      {         if (log.isTraceEnabled())  { log.trace("Caught JMSException:" + e); }         Exception linked = e.getLinkedException();         if (linked != null)         {            log.error("Linked exception is: " + linked);         }         logCause(e);         throw e;      }      catch (UnsupportedOperationException e)      {         //These must be propagated to the client         throw e;               }      catch (RuntimeException e)      {                  log.error("Caught RuntimeException", e);         logCause(e);         JMSException ex = new javax.jms.IllegalStateException(e.getMessage());         ex.setLinkedException(e);         throw ex;       }      catch (Exception e)      {         if (log.isTraceEnabled()) { log.trace("Caught Exception:" + e); }         log.error("Caught Exception: ", e);         logCause(e);         throw new JBossJMSException(e.getMessage(), e);      }      catch (Error e)      {         if (log.isTraceEnabled()) { log.trace("Caught Error:" + e); }         log.error("Caught Error: ", e);         logCause(e);         throw e;      }   }