flask:自定义异常
一,代码:
自定义异常:
class ApiError(Exception):
""""API接口异常错误"""
messsage = ""
# 默认错误码
status_code = 400
# 自定义一个return_code, 作为更细粒的错误代码
def __init__(self, message, return_code=None, status_code=None, payload=None):
Exception.__init__(self)
self.message = message
self.return_code = return_code
if status_code is not None:
self.status_code = status_code
self.payload = payload
# 构造要返回的错误代码和错误信息的dict
def to_dict(self):
rv = dict(self.payload or ())
rv['return_code'] = self.return_code
rv['message'] = self.message
return rv
调用:抛出异常
@photo.route("/upload/", methods=['GET'])
def photo_upload():
raise ApiError('上传页面发生自定义异常',8001,500)
处理自定义异常:
@app.errorhandler(ApiError)
def handle_api_error(error):
"""处理Api自定义错误码"""
rv = error.to_dict()
status_code = error.status_code
msg = "自定义错误:"+ rv['message']
return failed_response(error.return_code,msg), error.status_code
二,运行效果:

浙公网安备 33010602011771号