捕捉QApplication中引发的异常

捕捉QApplication中引发的异常,第1张

捕捉QApplication中引发的异常

您必须使用该异常,并且如果希望事件循环结束,则必须调用

quit()
(或
exit()
)方法。

import sysimport tracebackfrom PyQt5 import QtWidgets, QtGui, QtCoreclass ErrorApp:    # ...    def raise_error(self):        assert Falsedef excepthook(exc_type, exc_value, exc_tb):    tb = "".join(traceback.format_exception(exc_type, exc_value, exc_tb))    print("error catched!:")    print("error message:n", tb)    QtWidgets.QApplication.quit()    # or QtWidgets.QApplication.exit(0)sys.excepthook = excepthooke = ErrorApp()ret = e.app.exec_()print("event loop exited")sys.exit(ret)

输出

error catched!:error message: Traceback (most recent call last):  File "main.py", line 28, in raise_error    assert FalseAssertionErrorevent loop exited


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5647354.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存