code: public void         takeException(Exception exception) throws Exception
      {
          boolean     rethrow = true;
          if ( isRetryException(exception) )
          {
              if ( !Boolean.getBoolean(DebugUtils.PROPERTY_DONT_LOG_CONNECTION_ISSUES) )
              {
                  log.debug("Retry-able exception received", exception);
              }
  
              if ( retryPolicy.allowRetry(retryCount++, System.currentTimeMillis() - startTimeMs, sleeper) )
              {
                  new EventTrace("retries-allowed", tracer.get()).commit();
                  if ( !Boolean.getBoolean(DebugUtils.PROPERTY_DONT_LOG_CONNECTION_ISSUES) )
                  {
                      log.debug("Retrying operation");
                  }
                  rethrow = false;
              }
              else
              {
                  new EventTrace("retries-disallowed", tracer.get()).commit();
                  if ( !Boolean.getBoolean(DebugUtils.PROPERTY_DONT_LOG_CONNECTION_ISSUES) )
                  {
                      log.debug("Retry policy not allowing retry");
                  }
              }
          }
  
          if ( rethrow )
          {
              throw exception;
          }
      }
docs: Pass any caught exceptions here
  
  @param exception the exception
  @throws Exception if not retry-able or the retry policy returned negative