我可能完全忽视了某些内容,但在使用faulthandler
包时,有没有办法显示自定义错误窗口。
目前我只是使用以下方式写入日志文件:
faulthandler.enabled(file=open("crash.log", "w"))
然而,能够向用户显示某种窗口并显示错误消息真的很不错。
关于我如何做到这一点的任何想法?
答案 0 :(得分:1)
但是,您可以更改sys.excepthook
并使用PyQt4.QtGui.QMessageBox
示例:强>
#!/usr/bin/env python
import sys
from PyQt4.QtGui import QMainWindow, QMessageBox
class App(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
sys.excepthook = self._displayError
def _error(self, etype, evalue, etraceback):
QMessageBox.critical(
self,
"ERROR",
"An unexpected error occurred: {0:s}".format(evalue)
)