errors.py
ultralytics\utils\errors.py
目录
errors.py
1.所需的库和模块
2.class HUBModelError(Exception):
1.所需的库和模块
# Ultralytics YOLO 🚀, AGPL-3.0 licensefrom ultralytics.utils import emojis
2.class HUBModelError(Exception):
# 这段代码定义了一个名为 HUBModelError 的自定义异常类,它继承自 Python 的内置 Exception 类。这个异常类用于处理与模型相关的错误,特别是当模型无法在模型库(如 Ultralytics HUB)中找到时。
# 类定义。
class HUBModelError(Exception):# 自定义异常类,用于处理与 Ultralytics YOLO 中的模型获取相关的错误。# 当未找到或无法检索请求的模型时,会引发此异常。# 该消息还经过处理以包含表情符号,以获得更好的用户体验。# 属性:# 消息(str):引发异常时显示的错误消息。# 注意:# 该消息通过“ultralytics.utils”包中的“emojis”函数自动处理。"""Custom exception class for handling errors related to model fetching in Ultralytics YOLO.This exception is raised when a requested model is not found or cannot be retrieved.The message is also processed to include emojis for better user experience.Attributes:message (str): The error message displayed when the exception is raised.Note:The message is automatically processed through the 'emojis' function from the 'ultralytics.utils' package."""# 初始化方法。# 1.message :一个字符串,提供了异常的默认错误消息,提示用户模型未找到,并建议检查模型 URL 并重试。def __init__(self, message="Model not found. Please check model URL and try again."): # 未找到模型。请检查模型 URL 并重试。# 当找不到模型时创建一个异常。"""Create an exception for when a model is not found."""# 调用父类初始化方法。# 调用 Exception 类的初始化方法,并将 emojis(message) 作为参数传递。这里 emojis 是一个函数,用于在错误消息中添加表情符号,以提供更友好的用户提示。# def emojis(string=""):# -> 确保传入的字符串在不同操作系统平台上能够安全地显示,特别是在不支持复杂字符(如表情符号)的平台上。返回处理过的字符串。如果操作系统是 Windows,返回处理过的字符串,否则直接返回原始字符串。# -> return string.encode().decode("ascii", "ignore") if WINDOWS else stringsuper().__init__(emojis(message))
# 通过定义 HUBModelError ,你可以提供更具体的错误处理和更友好的用户反馈,使得在模型加载失败时更容易诊断问题。