code: public void handleExceptionRead(Exception e)
        {
          final String mName = "handleExceptionRead";
          
          logger.finer("RETRYHANDLE: in retryhandler handle exception on a read:" + e.toString());
  
          if(logger.isLoggable(Level.FINER)) 
            logger.logp(Level.FINE, className, mName, e.getClass().getName() + "; " + this.toString());
          
          if (!isRetryLimitReached() && excMatcher.isSkippableOrRetryable(e))
          {
             retryType = RETRY_READ;
             _retryException = e;
            // Retry it.  Log it.  Call the RetryListener.
            ++_retryCount;
            logRetry(e);
  
            if (_retryReadListeners != null) {
                for (RetryReadListenerProxy retryReadListenerProxy : _retryReadListeners) {
                    retryReadListenerProxy.onRetryReadException(e);
                  }
            }
          }
          else
          {
            // No retry.  Throw it back.
            if(logger.isLoggable(Level.FINER)) 
              logger.logp(Level.FINE, className, mName, "No retry.  Rethrow", e);
              throw new BatchContainerRuntimeException(e);
          }
  
          if(logger.isLoggable(Level.FINER)) 
            logger.exiting(className, mName, e);
        }
docs: Handle exception from a read failure.