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

二,运行效果:

image

posted @ 2025-11-14 20:27  刘宏缔的架构森林  阅读(11)  评论(0)    收藏  举报