异常处理
2022/9/23原创小于 1 分钟约 116 字
全局异常
import os
import traceback
class Mainworkwindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.old_hook = sys.excepthook
sys.excepthook = self.catch_exceptions
def catch_exceptions(self, ty, value, trace):
"""
捕获异常,并弹窗显示
:param ty: 异常的类型
:param value: 异常的对象
:param traceback: 异常的traceback
"""
traceback_format = traceback.format_exception(ty, value, trace)
traceback_string = "".join(traceback_format)
logger().logger.error("异常信息:{}".format(traceback_string))
QMessageBox.critical(None, "异常信息", "{}".format(value))
self.old_hook(ty, value, trace)