PHP 8.2.30
Preview: excepthook.py Size: 1.30 KB
/proc/self/root/opt/alt/python38/lib/python3.8/site-packages/sentry_sdk/integrations/excepthook.py

import sys

from sentry_sdk.hub import Hub
from sentry_sdk.utils import capture_internal_exceptions, event_from_exception
from sentry_sdk.integrations import Integration

if False:
    from typing import Callable


class ExcepthookIntegration(Integration):
    identifier = "excepthook"

    @staticmethod
    def setup_once():
        # type: () -> None
        sys.excepthook = _make_excepthook(sys.excepthook)


def _make_excepthook(old_excepthook):
    # type: (Callable) -> Callable
    def sentry_sdk_excepthook(exctype, value, traceback):
        hub = Hub.current
        integration = hub.get_integration(ExcepthookIntegration)

        if integration is not None and _should_send():
            with capture_internal_exceptions():
                event, hint = event_from_exception(
                    (exctype, value, traceback),
                    client_options=hub.client.options,
                    mechanism={"type": "excepthook", "handled": False},
                )
                hub.capture_event(event, hint=hint)

        return old_excepthook(exctype, value, traceback)

    return sentry_sdk_excepthook


def _should_send():
    if hasattr(sys, "ps1"):
        # Disable the excepthook for interactive Python shells, otherwise
        # every typo gets sent to Sentry.
        return False

    return True

Directory Contents

Dirs: 2 × Files: 22

Name Size Perms Modified Actions
django DIR
- drwxr-xr-x 2024-03-21 10:24:45
Edit Download
- drwxr-xr-x 2024-03-21 10:24:45
Edit Download
3.80 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
894 B lrw-r--r-- 2019-04-05 23:15:16
Edit Download
1.46 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
6.60 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
5.40 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
4.32 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
1.06 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
1.30 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
7.10 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
2.94 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
5.88 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
1.21 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
5.78 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
3.20 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
6.90 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
1.21 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
1.83 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
1.56 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
6.24 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
7.13 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
3.58 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download
4.14 KB lrw-r--r-- 2019-04-05 23:15:16
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).