跳至内容

参考资料 hub_sdk/helpers/exceptions.py

备注

该文件位于https://github.com/ultralytics/hub-sdk/blob/main/ hub_sdk/helpers/exceptions .py。如果您发现问题,请通过提交 Pull Request🛠️ 帮助修复。谢谢🙏!



hub_sdk.helpers.exceptions.suppress_exceptions()

根据全局HUB_EXCEPTIONS 标志在本地抑制异常。

如果HUB_EXCEPTIONS 标志设置为 "假",该函数将引发捕获的异常、 该函数会引发捕获到的异常,允许其传播并在其他地方处理。如果标志设置为 True、 则函数会抑制异常,有效地在本地处理异常。

示例

设置HUB_EXCEPTIONS 常量,对异常处理进行全局控制

HUB_EXCEPTIONS = 假

try: # 您的代码可能会引发异常 except ValueError as e: # 如果HUB_EXCEPTIONS 为 True,异常将被抑制 suppress_exceptions() # 如果HUB_EXCEPTIONS 为 False,异常处理将在此处继续进行

备注

该函数可与全局HUB_EXCEPTIONS 常量结合使用。 常量结合使用,以便在代码库的多个部分控制异常处理行为。

源代码 hub_sdk/helpers/exceptions.py
def suppress_exceptions() -> None:
    """
    Suppress exceptions locally based on the global HUB_EXCEPTIONS flag.

    If the HUB_EXCEPTIONS flag is set to False, this function raises the caught exception,
    allowing it to propagate and be handled elsewhere. If the flag is set to True,
    the function suppresses the exception, effectively handling it locally.

    Example:
        # Set the HUB_EXCEPTIONS constant to control exception handling globally
        HUB_EXCEPTIONS = False

        try:
            # Your code that may raise an exception
        except ValueError as e:
            # The exception will be suppressed if HUB_EXCEPTIONS is True
            suppress_exceptions()
            # Exception handling continues here if HUB_EXCEPTIONS is False

    Note:
        This function is designed to be used in conjunction with the global HUB_EXCEPTIONS constant
        to control exception handling behavior across multiple parts of the codebase.
    """
    if not HUB_EXCEPTIONS:
        raise