From 1cba390b1c9dd6702d8c941d9e466329e42a7a0c Mon Sep 17 00:00:00 2001 From: cruldra Date: Mon, 31 Mar 2025 16:36:47 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Python/exceptions.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Python/exceptions.py | 79 ++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 43 deletions(-) diff --git a/Python/exceptions.py b/Python/exceptions.py index 5f26295..c0ecf11 100644 --- a/Python/exceptions.py +++ b/Python/exceptions.py @@ -1,43 +1,36 @@ -class BaseException(Exception): - """ - 自定义基础异常类,支持错误消息、错误代码和参考URL - """ - - def __init__( - self, msg="An error occurred", code="E000", reference_url=None, *args, **kwargs - ): - self.msg = msg - self.code = code - self.reference_url = reference_url - self.details = kwargs.get("details", {}) - - # 构建完整错误消息 - message = f"[{self.code}] {self.msg}" - if self.reference_url: - message += f" (参考: {self.reference_url})" - - super().__init__(message, *args) - - def to_dict(self): - """返回异常的字典表示,方便转换为JSON""" - result = { - "error": { - "code": self.code, - "message": self.msg, - } - } - - if self.reference_url: - result["error"]["reference_url"] = self.reference_url - - if self.details: - result["error"]["details"] = self.details - - return result - - -class UserAccountNotFoundException(BaseException): - """用户账户不存在异常""" - - def __init__(self, user_id=None, *args, **kwargs): - super().__init__(msg="用户账户不存在", code="USER001", *args, **kwargs) +class BaseException(Exception): + """ + 自定义基础异常类,支持错误消息、错误代码和参考URL + """ + + def __init__( + self, msg="An error occurred", code="E000", reference_url=None, *args, **kwargs + ): + self.msg = msg + self.code = code + self.reference_url = reference_url + self.details = kwargs.get("details", {}) + + # 构建完整错误消息 + message = f"[{self.code}] {self.msg}" + if self.reference_url: + message += f" (参考: {self.reference_url})" + + super().__init__(message, *args) + + def to_dict(self): + """返回异常的字典表示,方便转换为JSON""" + result = { + "error": { + "code": self.code, + "message": self.msg, + } + } + + if self.reference_url: + result["error"]["reference_url"] = self.reference_url + + if self.details: + result["error"]["details"] = self.details + + return result