如何从wxPython应用程序捕获所有异常?

如何从wxPython应用程序捕获所有异常?,第1张

如何从wxPython应用程序捕获所有异常?

为了记录标准输出,可以使用标准输出包装器,例如:

from __future__ import with_statementclass OutWrapper(object):    def __init__(self, realOutput, logFileName):        self._realOutput = realOutput        self._logFileName = logFileName    def _log(self, text):        with open(self._logFileName, 'a') as logFile: logFile.write(text)    def write(self, text):        self._log(text)        self._realOutput.write(text)

然后,您必须在主Python文件(运行所有文件的文件)中对其进行初始化:

import sys    sys.stdout = OutWrapper(sys.stdout, r'c:templog.txt')

对于记录异常,最简单的

MainLoop
方法是将wx.App的方法包装在try..except中,然后提取异常信息,以某种方式保存它,然后通过重新引发异常
raise
,例如:

try:    app.MainLoop()except:    exc_info = sys.exc_info()    saveExcInfo(exc_info) # this method you have to write yourself    raise


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

原文地址: https://outofmemory.cn/zaji/5666232.html

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

发表评论

登录后才能评论

评论列表(0条)

保存