我制作了这个简单的脚本来尝试一些东西。基本上,它应该捕获在应用程序运行期间发生的任何异常并断开与服务器的连接。import sysimport tracebackfrom PyQt5.QtWidgets import *class Window(QWidget): def __init__(self): QWidget.__init__(self) layout = QVBoxLayout() self.setLayout(layout) # Generate exception raise Exception('Oh no!') def foo(self): print('Bar')def error_handler(etype, value, tb): global ex error_msg = ''.join(traceback.format_exception(etype, value, tb)) print(error_msg) ex.foo() sys.exit(1)if __name__ == '__main__': sys.excepthook = error_handler app = QApplication([]) ex = Window() ex.show() app.exec_()如果变量是在 main 中定义的,为什么错误处理程序找不到它?
添加回答
举报
0/150
提交
取消