自定义异常类
除了使用内置的异常类之外,还可以定义自己的异常类。可以通过继承flask_restful.abort
类来实现。下面是一个示例:
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错误响应。