Python faulthandler显示错误窗口

时间:2015-05-29 05:08:25

标签: python pyqt

我可能完全忽视了某些内容,但在使用faulthandler包时,有没有办法显示自定义错误窗口。

目前我只是使用以下方式写入日志文件:

faulthandler.enabled(file=open("crash.log", "w")) 

然而,能够向用户显示某种窗口并显示错误消息真的很不错。

关于我如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:1)

根据faulthandler

,无法将documetnation的行为更改为除了将错误记录到文件类对象之外的其他操作

但是,您可以更改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)
        )