pyqt5 - “sys.excepthook 中的错误”PyQt5.10.1Python 3.6
问题描述
我的 main.py 中有一个自定义的 sys.excepthook:
def application_exception_hook(type_, value, tb):
lines = format_exception(type_, value, tb)
for line in lines:
print(line)
sys.excepthook = sys._excepthook
sys.exit(1)
sys._excepthook = sys.excepthook
sys.excepthook = application_exception_hook
如果出现未处理的异常,控制台输出为:
Traceback (most recent call last):
Error in sys.excepthook:
Traceback (most recent call last):
Original exception was:
Traceback (most recent call last):
更换...
for line in lines:
print(line)
...和...
print(lines)
...给我这个输出:
['Traceback (most recent call last):\n', ' File "D:\\...\\framework.py", line 144, in openNesting\n foo = 123 / 0\n', 'ZeroDivisionError: division by zero\n']Error in sys.excepthook:
Traceback (most recent call last):
Original exception was:
Traceback (most recent call last):
因此,在这两种情况下都会出现“sys.excepthook 中的错误”,而在第一种情况下,在打印出所有有趣的属性之前就已经出现了错误。我想知道什么可能导致“sys.excepthook 中的错误”以及如何仅获得此输出:
Traceback (most recent call last):
File "D:\\...\\framework.py", line 144, in openNesting
foo = 123 / 0
ZeroDivisionError: division by zero
我找不到任何解决这个特定问题的主题。
解决方案
已解决:将 stdout 和 stderr 消息复制到 QtTextEdit 的方法中存在错误。在手动跟踪它之后,现在一切都按预期工作。
推荐阅读
- xcode - 在 Xcode 中找不到框架 FirebaseInstanceID
- grails - Quartz 调度器从完成到开始的延迟
- visual-studio - 是否可以在 Visual Studio 2017 中创建 react-native 项目?
- optaplanner - 直接从另一个脚本使用 OptaPlanner(无 API)
- compilation - 如何在eclipse中为Javac配置外部工具
- php - 单击链接后,php行ID不显示在地址栏中
- json - 无法解析类型“字符串”不是“索引”的“int”类型的子类型
- snowflake-cloud-data-platform - 有没有办法使用最新的 Snowflake JDBC 驱动程序禁用箭头格式支持
- amazon-web-services - 如何限制仅从 NLB 访问 EC2
- asp.net - MVC 中的 CRUD 表单并将数据发布到 Web Service soap (VB)