Source code for bioat.exceptions

"""This module contains custom exception classes for the bioat package."""

__module_name__ = "bioat.exceptions"

__all__ = [
    "BioatError",
    "BioatFileFormatError",
    "BioatFileNotCompleteError",
    "BioatFileNotFoundError",
    "BioatInvalidInputError",
    "BioatInvalidOptionError",
    "BioatInvalidParameterError",
    "BioatMissingDependencyError",
    "BioatRuntimeError",
    "BioatValueError",
]


[docs] class BioatError(Exception): """Base class for all custom exceptions in the bioat package.""" def __init__(self, *args, **kwargs): # 使用列表来收集消息,避免多次字符串拼接 messages = [] if args: messages.append(" ".join(map(str, args))) # 将args转换为字符串并连接 if kwargs: messages.append( " ".join(f"{k}={v}" for k, v in kwargs.items()), ) # 格式化kwargs self.msg = "; ".join(messages)
[docs] def __str__(self): """Return a string representation of the exception.""" return f"{self.msg}" # 返回当前类的名称
[docs] class BioatFileFormatError(BioatError): """Exception raised for errors in file format.""" pass
[docs] class BioatFileNotCompleteError(BioatError): """Exception raised when a file is not complete.""" pass
[docs] class BioatFileNotFoundError(BioatError): """Exception raised when a required file is not found.""" pass
[docs] class BioatInvalidInputError(BioatError): """Exception raised for invalid input errors.""" pass
[docs] class BioatInvalidOptionError(BioatError): """Exception raised for invalid option errors.""" pass
[docs] class BioatInvalidParameterError(BioatError): """Exception raised for invalid parameter errors.""" pass
[docs] class BioatMissingDependencyError(BioatError): """Exception raised when a required dependency is missing.""" pass
[docs] class BioatRuntimeError(BioatError): """Exception raised for runtime errors.""" pass
[docs] class BioatValueError(BioatError): """Exception raised for errors related to values.""" pass