Flask框架之异常处理和请求钩子
异常处理
抛出异常
在Flask框架中,我们使用abort()方法,抛出异常信息。
代码如下:
from flask import abort
# 抛出异常
@app.route('/error')
def error():
return abort(404)
捕获和处理异常
在Flask框架中,我们使用@app.errorhandler()装饰器,实现异常的捕获和处理。
代码如下:
# 捕获异常
@app.errorhandler(404)
def error_action(e):
# 必须接受一个参数e
return 'error....'
请求钩子
before_first_request(第一次请求之前执行)
在Flask框架中,我们可以使用@app.before_first_request装饰器,来实现钩子函数。
代码如下:
# 第一请求之前执行
@app.before_first_request
def before_first_request():
print('before_first_request')
before_request(每次请求之前执行)
在Flask框架中,我们可以使用@app.before_request装饰器,来实现钩子函数。
代码如下:
# 每次请求之前执行
@app.before_request
def before_request():
print('before_request')
after_request(每次请求后执行,不出现异常)
在Flask框架中,我们可以使用@app.after_request装饰器,来实现钩子函数。
代码如下:
# 每次请求后执行,不能出现异常
@app.after_request
def after_request(response):
# response参数不能缺少,且必须响应
print('after_request')
return response
teardown_request(每次请求后执行,接收处理异常)
在Flask框架中,我们可以使用@app.teardown_request装饰器,来实现钩子函数。
代码如下:
# 每次请求后执行,捕获并处理异常
@app.teardown_request
def teardown_request(e):
# 必须接收参数e
print(e)
print('teardown_request')
该花的钱要花,该吃的饭要吃。