Exceptions 异常处理工具
约 557 字大约 2 分钟
2025-08-12
概述
exceptions.py 文件定义了项目的通用异常类,用于统一处理应用中的各种异常情况。
异常类说明
BaseAppException
应用基础异常类,提供通用的异常处理功能。
构造函数参数
message(str): 异常信息,默认为 "应用发生异常"code(int): 异常状态码,默认为 500
使用示例
from app.utils.exceptions import BaseAppException
try:
# 可能出现异常的代码
raise BaseAppException("自定义异常信息", 500)
except BaseAppException as e:
print(f"捕获到异常: {e.message}, 状态码: {e.code}")ValidationException
数据验证异常,用于处理数据验证失败的情况。
构造函数参数
message(str): 异常信息,默认为 "数据验证失败"code(int): 异常状态码,默认为 400
使用示例
from app.utils.exceptions import ValidationException
try:
# 数据验证代码
if not valid_data:
raise ValidationException("数据格式不正确")
except ValidationException as e:
print(f"数据验证失败: {e.message}, 状态码: {e.code}")NotFoundException
资源未找到异常,用于处理请求的资源不存在的情况。
构造函数参数
message(str): 异常信息,默认为 "资源未找到"code(int): 异常状态码,默认为 404
使用示例
from app.utils.exceptions import NotFoundException
try:
# 查找资源的代码
resource = find_resource(resource_id)
if not resource:
raise NotFoundException("指定的资源未找到")
except NotFoundException as e:
print(f"资源未找到: {e.message}, 状态码: {e.code}")UnauthorizedException
未授权异常,用于处理用户未授权访问的情况。
构造函数参数
message(str): 异常信息,默认为 "未授权访问"code(int): 异常状态码,默认为 401
使用示例
from app.utils.exceptions import UnauthorizedException
try:
# 权限检查代码
if not is_authorized(user):
raise UnauthorizedException("您没有权限访问此资源")
except UnauthorizedException as e:
print(f"未授权访问: {e.message}, 状态码: {e.code}")BusinessException
业务逻辑异常,用于处理业务处理过程中出现的异常情况。
构造函数参数
message(str): 异常信息,默认为 "业务处理异常"code(int): 异常状态码,默认为 422
使用示例
from app.utils.exceptions import BusinessException
try:
# 业务逻辑代码
result = process_business_logic()
if not result:
raise BusinessException("业务处理失败")
except BusinessException as e:
print(f"业务处理异常: {e.message}, 状态码: {e.code}")版权所有
版权归属:Evoliant
许可证:MIT