"""
GitCode API错误处理
"""
class GitCodeAPIError(Exception):
"""GitCode API错误基类"""
def __init__(self, status_code: int, message: str):
self.status_code = status_code
self.message = message
super().__init__(f"API错误 ({status_code}): {message}")
class GitCodeAuthError(GitCodeAPIError):
"""认证错误"""
def __init__(self, message: str = "认证失败"):
super().__init__(401, message)
class GitCodeNotFoundError(GitCodeAPIError):
"""资源不存在错误"""
def __init__(self, resource_type: str, resource_id: str):
message = f"{resource_type} '{resource_id}' 不存在"
super().__init__(404, message)
class GitCodePermissionError(GitCodeAPIError):
"""权限错误"""
def __init__(self, message: str = "没有足够权限执行该操作"):
super().__init__(403, message)
class GitCodeRateLimitError(GitCodeAPIError):
"""API速率限制错误"""
def __init__(self, message: str = "超过API调用频率限制"):
super().__init__(429, message)
class GitCodeServerError(GitCodeAPIError):
"""服务器错误"""
def __init__(self, status_code: int = 500, message: str = "服务器错误"):
super().__init__(status_code, message)
class GitCodeValidationError(GitCodeAPIError):
"""请求验证错误"""
def __init__(self, message: str = "请求参数验证失败"):
super().__init__(422, message)