gpt4 book ai didi

python-2.7 - 如何拦截flask中的所有异常?

转载 作者:行者123 更新时间:2023-12-03 15:27:39 24 4
gpt4 key购买 nike

也许我在 documentation 中没有看到任何东西.

我不仅要处理一些 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())

最佳答案

您应该使用 errorhandler ,请参阅文档 http://flask.pocoo.org/docs/patterns/errorpages/#error-handlershttp://flask.pocoo.org/docs/api/#flask.Flask.errorhandler .它允许您获得调度程序中引发的所有异常,但不能处理错误处理程序中的异常。例如处理所有异常:

@app.errorhandler(Exception)
def all_exception_handler(error):
return 'Error', 500

在这种情况下,我如何更喜欢显式异常处理程序或使用装饰器(基于类的 View )。

关于python-2.7 - 如何拦截flask中的所有异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com