首页 > 开发 > Python > 正文

如何捕获解释器出错?

2017-09-06 19:34:14  来源:网友分享

一个项目里面需要一个奔溃后发送错误日志的功能。
因为要打包exe, 所以不想写另外一个新exe。然后监控PID什么的。想在一个py。里面完成。求大神给方案

这个是简单的奔溃代码。

from multiprocessing import Processimport timeimport sysfrom PyQt4.QtCore import *from PyQt4.QtGui import *got_error = 'got!!'def timetask():    try:        while 1:            time.sleep(.1)    except:        print got_erroraaa = QApplication(sys.argv)p = Process(target = timetask,)if __name__ == '__main__':    p.start()for a in xrange(1000):    az = QThread()    az.start()p.join()try:    aaa.exec_()except:    print got_error

解决方案

PyQt4的异常可能是底层的异常,也可能是sip的异常,这里不是解释器的范畴,解释器无法捕捉到这个异常的。所以你还是另外启动一个进程去管理更靠谱些。