gpt4 book ai didi

python - DEBUG 为 False 时错误处理程序不触发

转载 作者:太空狗 更新时间:2023-10-29 21:10:59 25 4
gpt4 key购买 nike

我正在使用 errorhandlers捕获和处理某些类型的异常:

@app.errorhandler(CustomException)
def handle_custom_exception(error):
return redirect('redirect-path', code=301)

这在 DEBUGTrue 时正常工作,这也隐式地将 PROPAGATE_EXCEPTIONS 设置为 True。当 DEBUGFalse 时,PROPAGATE_EXCEPTIONS 默认为 False 并且 Flask 返回一个 500对于抛出的所有错误,忽略已注册的 errorhandler。将 PROPAGATE_EXCEPTIONS 设置为 True 可纠正这种情况下的错误处理。

我想知道的是:

  • 在生产中启用 PROPAGATE_EXCEPTIONS 是否安全?有什么我应该担心的副作用吗?

  • 为什么 Flask 在调试和非调试中对此配置有不同的默认值?

最佳答案

你应该添加app.config['PROPAGATE_EXCEPTIONS'] = True发生这种情况是因为 flask 覆盖了通常的错误处理代码(对于其控制下的所有路由)。

关于python - DEBUG 为 False 时错误处理程序不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33423580/

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