code: def _handle_processing_error(err, errstream, client):
      
  
      errors = sorted(err.events, key=operator.attrgetter("index"))
      failed = [e.event for e in errors]
      silent = all(isinstance(e.error, OutOfOrderError) for e in errors)
      if errstream:
          _deliver_errored_events(errstream, failed)
          must_raise = False
      else:
          must_raise = True
      for _, event, error, tb in errors:
          if isinstance(error, OutOfOrderError):
              # Not really an error: do not log this to Sentry
              continue
          try:
              raise six.reraise(*tb)
          except Exception as err:
              if client:
                  client.captureException()
              msg = "{}{}: {}".format(type(err).__name__,
                      err.args, json.dumps(event, indent=4))
              rlogger.error(msg, exc_info=tb)
              if must_raise:
                  raise
docs: Handle ProcessingError exceptions.