diff --git a/sentry_sdk/tracing.py b/sentry_sdk/tracing.py index c9b357305a..0d1fcc45da 100644 --- a/sentry_sdk/tracing.py +++ b/sentry_sdk/tracing.py @@ -8,6 +8,7 @@ from sentry_sdk.consts import INSTRUMENTER, SPANSTATUS, SPANDATA, SPANTEMPLATE from sentry_sdk.profiler.continuous_profiler import get_profiler_id from sentry_sdk.utils import ( + capture_internal_exceptions, get_current_thread_meta, is_valid_sample_rate, logger, @@ -418,10 +419,11 @@ def __exit__(self, ty, value, tb): if value is not None and should_be_treated_as_error(ty, value): self.set_status(SPANSTATUS.INTERNAL_ERROR) - scope, old_span = self._context_manager_state - del self._context_manager_state - self.finish(scope) - scope.span = old_span + with capture_internal_exceptions(): + scope, old_span = self._context_manager_state + del self._context_manager_state + self.finish(scope) + scope.span = old_span @property def containing_transaction(self):