跳至内容

参考资料 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