Flask 错误时的上下文保护

无论错误出现与否,在请求的最后,请求上下文会出栈,并且相关的所有数据会被 销毁。在开发中,当你想在异常发生时,长期地获取周围的信息,这会成为麻烦。 在 Flask 0.6 和更早版本中的调试模式,如果发生异常,请求上下文不会被弹出栈, 这样交互式调试器才能提供给你重要信息。

从 Flask 0.7 开始,我们设定 ​PRESERVE_CONTEXT_ON_EXCEPTION​ 配置变量来 更好地控制该行为。这个值默认与 ​DEBUG​ 的设置相关。当应用工作在调试模式 下时,上下文会被保护,而生产模式下相反。

不要在生产模式强制激活 ​PRESERVE_CONTEXT_ON_EXCEPTION​ ,因为它会导致在 异常时应用的内存泄露。不过,它在开发时获取开发模式下相同的错误行为来试图 调试一个只有生产设置下才发生的错误时很有用。

作者:andy,如若转载,请注明出处:https://www.web176.com/flask/20464.html

(0)
打赏 支付宝 支付宝 微信 微信
andy的头像andy
上一篇 2023年5月16日
下一篇 2023年5月16日

相关推荐

发表回复

登录后才能评论