有没有办法添加一个全局的catch-all错误处理程序,我可以在其中更改对通用JSON响应的响应?
我无法使用该got_request_exception
信号,因为不允许修改响应(http://flask.pocoo.org/docs/0.10/signals/).
相反,所有信号处理程序都以未定义的顺序执行,不会修改任何数据.
我宁愿不包装app.handle_exception
函数,因为感觉像内部API.我想我的事情是这样的:
@app.errorhandler()
def handle_global_error(e):
return "Global error"
Run Code Online (Sandbox Code Playgroud)
请注意,errorhandler
它不带任何参数,这意味着它将捕获所有没有附加特定错误处理程序的异常/状态代码.我知道我可以使用errorhandler(500)
或errorhandler(Exception)
捕获异常,但如果我这样做abort(409)
,它仍将返回HTML响应.