Flask-RESTful的自定义异常类

2023-05-06 15:48:34 浏览数 (2)

自定义异常类

除了使用内置的异常类之外,还可以定义自己的异常类。可以通过继承flask_restful.abort类来实现。下面是一个示例:

代码语言:javascript复制
from flask import Flask
from flask_restful import Api, Resource, abort

app = Flask(__name__)
api = Api(app)

class ResourceNotFoundError(Exception):
    def __init__(self, message):
        self.message = message

class HelloWorld(Resource):
    def get(self):
        raise ResourceNotFoundError('Resource not found')

@api.errorhandler(ResourceNotFoundError)
def handle_resource_not_found_error(error):
    return {'message': error.message}, 404

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)

在这个例子中,我们定义了一个ResourceNotFoundError异常类,并继承flask_restful.abort类。当调用get方法时,我们抛出一个ResourceNotFoundError异常。我们还定义了一个handle_resource_not_found_error函数来处理这个异常,并返回一个HTTP 404错误响应。

0 人点赞