<p>我有一个基于GUI的项目。我想把它放到代码本身和GUI部分。在</p>
<p>这是我的代码:
<code>Main.py</code>:</p>
<pre><code>class NewerVersionWarning(Exception):
def __init__(self, newest, current=__version__):
self.newest = newest
self.current = current
def __str__(self):
return "Version v%s is the latest version. You have v%s." % (self.newest, self.current)
class NoResultsException(Exception):
pass
# ... and so on
def sanity_check():
"Sanity Check for script."
try:
newest_version = WebParser.WebServices.get_newestversion()
if newest_version > float(__version__):
raise NewerVersionWarning(newest_version)
except IOError as e:
log.error("Could not check for the newest version (%s)" % str(e))
if utils.get_free_space(config.temp_dir) < 200*1024**2: # 200 MB
drive = os.path.splitdrive(config.temp_dir)[0]
raise NoSpaceWarning(drive, utils.get_free_space(config.temp_dir))
# ... and so on
</code></pre>
<p>现在,在GUI部分,我只调用try except块中的函数:</p>
^{pr2}$
<p>在当前设计中,检查在第一个警告/异常时停止。当然,异常应该停止代码,但是警告只应该向用户显示一条消息,然后继续。我怎么能这样设计呢?在</p>