栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PyQt:退出时没有错误消息(回溯)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PyQt:退出时没有错误消息(回溯)

这可能是由于PyQt-5.5处理异常的方式发生了变化。引用PyQt5文档:

在PyQt
v5.5中,未处理的Python异常将导致调用Qt的qFatal()函数。默认情况下,它将调用abort(),应用程序将终止。请注意,应用程序安装的异常挂钩仍将优先。

当我在普通控制台中运行您的示例时,这是我看到的:

$ python test.pyTraceback (most recent call last):  File "test.py", line 213, in testfunc    print(9/0)ZeroDivisionError: division by zeroAborted (core dumped)

因此,主要区别在于,应用程序现在会在遇到未处理的异常时立即终止(即,就像普通的python脚本一样)。当然,您仍然可以通过使用

try/except
块或通过覆盖sys.excepthook来全局控制此行为。

如果没有看到任何回溯,则可能是由于您用于运行应用程序的Python IDE出现问题。

PS:

作为最低要求,可以像下面那样恢复仅将跟踪记录打印到stdout / stderr的旧PyQt4行为:

def except_hook(cls, exception, traceback):    sys.__excepthook__(cls, exception, traceback)if __name__ == "__main__":    import sys    sys.excepthook = except_hook


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464451.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号