def _handle_exception(self, exc):
        """Common exception handling behavior across all exceptions.

        .. note:: This for internal use and should not be extended or used
            directly.

        """
        exc_info = sys.exc_info()
        self.logger.exception(
            '%s while processing message #%s',
            exc.__class__.__name__, self._message.delivery_tag,
            exc_info=exc_info)
        self._measurement.set_tag('exception', exc.__class__.__name__)
        if hasattr(exc, 'metric') and exc.metric:
            self._measurement.set_tag('error', exc.metric)
        self._process.send_exception_to_sentry(exc_info)
        self._maybe_clear_confirmation_futures()
        if not self._finished:
            self.on_finish(exc)
        self._finished = True
def _handle_exception ( self , exc ) : exc_info = sys . exc_info ( ) self . logger . exception ( '%s while processing message #%s' , exc . __class__ . __name__ , self . _message . delivery_tag , exc_info = exc_info ) self . _measurement . set_tag ( 'exception' , exc . __class__ . __name__ ) if hasattr ( exc , 'metric' ) and exc . metric : self . _measurement . set_tag ( 'error' , exc . metric ) self . _process . send_exception_to_sentry ( exc_info ) self . _maybe_clear_confirmation_futures ( ) if not self . _finished : self . on_finish ( exc ) self . _finished = True
Common exception handling behavior across all exceptions.

        .. note:: This for internal use and should not be extended or used
            directly.