擅长:python、mysql、java
<p>尽管python提供了一种警告机制,但我发现这样做更容易:</p>
<ol>
<li>使用<code>Warning</code>类的子类警告。在</li>
<li>使用<code>_warnings</code>列表并将所有警告附加到该列表中。在</li>
<li><p>返回<code>_warnings</code>并在外部代码处处理它:</p>
<pre><code>try:
_warnings = Main.sanity_check()
except CustomException1, e:
# handle exception
except CustomException2, e:
# handle exception
for w in _warnings:
if isinstance(w, NoSpaceWarning):
pass # handle warning
if isinstance(w, NewerVersionWarning):
pass # handle warning
</code></pre></li>
</ol>