"""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 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 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