跳至内容

参考资料 hub_sdk/helpers/error_handler.py

备注

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



hub_sdk.helpers.error_handler.ErrorHandler

代表用于管理 HTTP 状态代码和错误信息的错误处理程序。

属性

名称 类型 说明
status_code int

与错误相关的 HTTP 状态代码。

message (str, None)

可选的错误信息,提供更多细节。 默认为 "无"。

源代码 hub_sdk/helpers/error_handler.py
class ErrorHandler:
    """
    Represents an error handler for managing HTTP status codes and error messages.

    Attributes:
        status_code (int): The HTTP status code associated with the error.
        message (str, None): An optional error message providing additional details.
            Defaults to None.
    """

    def __init__(self, status_code: int, message: Optional[str] = None):
        """
        Initialize the ErrorHandler object with a given status code.

        Args:
            status_code (int): The HTTP status code representing the error.
            message (str, optional): An optional error message providing additional details.
        """
        self.status_code = status_code
        self.message = message

    def handle(self) -> str:
        """
        Handle the error based on the provided status code.

        Returns:
            (str): A message describing the error.
        """
        error_handlers = {
            401: self.handle_unauthorized,
            404: self.handle_not_found,
            500: self.handle_internal_server_error,
        }

        handler = error_handlers.get(self.status_code, self.get_default_message)
        return handler()

    def handle_unauthorized(self) -> str:
        """
        Handle an unauthorized error (HTTP 401).

        Returns:
            (str): An error message indicating unauthorized access.
        """
        return "Unauthorized: Please check your credentials."

    def handle_not_found(self) -> str:
        """
        Handle a resource not found error (HTTP 404).

        Returns:
            (str): An error message indicating that the requested resource was not found.
        """
        return "Resource not found."

    def handle_internal_server_error(self) -> str:
        """
        Handle an internal server error (HTTP 500).

        Returns:
            (str): An error message indicating an internal server error.
        """
        return "Internal server error."

    def handle_unknown_error(self) -> str:
        """
        Handle an unknown error.

        Returns:
            (str): An error message indicating that an unknown error occurred.
        """
        return "Unknown error occurred."

    def get_default_message(self) -> str:
        """
        Get the default error message for a given HTTP status code.

        Returns:
            (str): The default error message associated with the provided status code.
                 If no message is found, it falls back to handling an unknown error.
        """
        return http.client.responses.get(self.status_code, self.handle_unknown_error())

__init__(status_code, message=None)

使用给定的状态代码初始化 ErrorHandler 对象。

参数

名称 类型 说明 默认值
status_code int

代表错误的 HTTP 状态代码。

所需
message str

可选的错误信息,提供更多详细信息。

None
源代码 hub_sdk/helpers/error_handler.py
def __init__(self, status_code: int, message: Optional[str] = None):
    """
    Initialize the ErrorHandler object with a given status code.

    Args:
        status_code (int): The HTTP status code representing the error.
        message (str, optional): An optional error message providing additional details.
    """
    self.status_code = status_code
    self.message = message

get_default_message()

获取给定 HTTP 状态代码的默认错误信息。

返回:

类型 说明
str

与所提供状态代码相关的默认错误信息。 如果找不到信息,则退回到处理未知错误。

源代码 hub_sdk/helpers/error_handler.py
def get_default_message(self) -> str:
    """
    Get the default error message for a given HTTP status code.

    Returns:
        (str): The default error message associated with the provided status code.
             If no message is found, it falls back to handling an unknown error.
    """
    return http.client.responses.get(self.status_code, self.handle_unknown_error())

handle()

根据提供的状态代码处理错误。

返回:

类型 说明
str

描述错误的信息。

源代码 hub_sdk/helpers/error_handler.py
def handle(self) -> str:
    """
    Handle the error based on the provided status code.

    Returns:
        (str): A message describing the error.
    """
    error_handlers = {
        401: self.handle_unauthorized,
        404: self.handle_not_found,
        500: self.handle_internal_server_error,
    }

    handler = error_handlers.get(self.status_code, self.get_default_message)
    return handler()

handle_internal_server_error()

处理内部服务器错误(HTTP 500)。

返回:

类型 说明
str

显示服务器内部错误的错误信息。

源代码 hub_sdk/helpers/error_handler.py
def handle_internal_server_error(self) -> str:
    """
    Handle an internal server error (HTTP 500).

    Returns:
        (str): An error message indicating an internal server error.
    """
    return "Internal server error."

handle_not_found()

处理未找到资源的错误(HTTP 404)。

返回:

类型 说明
str

表示未找到所请求资源的错误信息。

源代码 hub_sdk/helpers/error_handler.py
def handle_not_found(self) -> str:
    """
    Handle a resource not found error (HTTP 404).

    Returns:
        (str): An error message indicating that the requested resource was not found.
    """
    return "Resource not found."

handle_unauthorized()

处理未经授权的错误(HTTP 401)。

返回:

类型 说明
str

显示未经授权访问的错误信息。

源代码 hub_sdk/helpers/error_handler.py
def handle_unauthorized(self) -> str:
    """
    Handle an unauthorized error (HTTP 401).

    Returns:
        (str): An error message indicating unauthorized access.
    """
    return "Unauthorized: Please check your credentials."

handle_unknown_error()

处理未知错误。

返回:

类型 说明
str

表示发生未知错误的错误信息。

源代码 hub_sdk/helpers/error_handler.py
def handle_unknown_error(self) -> str:
    """
    Handle an unknown error.

    Returns:
        (str): An error message indicating that an unknown error occurred.
    """
    return "Unknown error occurred."