Leo*_*nid 9 configuration exception-handling flask python-2.7
也许我没有在文档中看到一些东西.
我想不只是处理一些http错误,但所有异常.原因 - 我想使用我自己的自定义逻辑记录它们(听起来像重新发明轮子,但我需要完全控制日志记录.我不希望服务器在异常情况下瘫痪,但仅限于特定请求的炸弹.
这就是我现在推出Flask的方式.这里app.run
启动服务器.每当发生异常时,如何指示它调用我的异常处理程序方法?
def main():
args = parse_args()
app.config['PROPAGATE_EXCEPTIONS'] = True
flask_options = {'port' : args.port}
if args.host == 'public':
flask_options['host'] = '0.0.0.0'
app.run(**flask_options)
if __name__ == '__main__':
_sys.exit(main())
Run Code Online (Sandbox Code Playgroud)
tbi*_*icr 17
您应该使用errorhandler
,请参阅文档http://flask.pocoo.org/docs/patterns/errorpages/#error-handlers和http://flask.pocoo.org/docs/api/#flask.Flask.errorhandler.允许您获取调度程序中引发的所有异常,但不处理错误处理程序中的异常.例如,处理所有异常:
@app.errorhandler(Exception)
def all_exception_handler(error):
return 'Error', 500
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我更喜欢显式异常处理程序或使用装饰器(基于类的视图).
归档时间: |
|
查看次数: |
17405 次 |
最近记录: |