gpt4 book ai didi

python try except 不捕获所有错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:43 27 4
gpt4 key购买 nike

在我的 flask web 应用程序中,我使用 beaker 库来处理 session 。在下面的代码中,由于某些未知原因,生产服务器引发了异常,但我的本地电脑运行良好。

import sys

...

try:
beaker_session = request.environ['beaker.session']
beaker_session['user_id'] = user.id
beaker_session.save()
except:
flash(sys.exc_info()[0])
return render_template('main/login.html')

本地计算机按预期保存 session ,没有任何异常。生产服务器 (RedHat OpenShift) 恰好在“beaker_session.save()”行上引发错误。但是,我的登录页面没有显示闪现消息,而是抛出了内部服务器错误 500。我检查了 beaker 后端 url (mysql db),没有问题,因为它在代码的其他部分工作,我在其中保留新注册的用户。所以,我的问题是 1) 为什么 except 部分不起作用? 2) 为什么烧杯不能保存 session 。谢谢。

最佳答案

我不熟悉 beaker 库,但如果它是一个 SWIG 包装库,并且异常发生在 C++ 代码中,则设计者可能忽略了将异常映射到适当的 python 异常。如果是这种情况,那么 Python 将无法处理异常——甚至 try/except 也会错过它。

关于python try except 不捕获所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9952352/

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