<p>除非设置了详细标志或调试标志,否则隐藏回溯错误的惯用python方法是什么?</p>
<p>示例代码:</p>
<pre><code>their_md5 = 'c38f03d2b7160f891fc36ec776ca4685'
my_md5 = 'c64e53bbb108a1c65e31eb4d1bb8e3b7'
if their_md5 != my_md5:
raise ValueError('md5 sum does not match!')
</code></pre>
<p>现有输出,但仅当使用<code>foo.py --debug</code>调用时才需要:</p>
<pre><code>Traceback (most recent call last):
File "b:\code\apt\apt.py", line 1647, in <module>
__main__.__dict__[command] (packages)
File "b:\code\apt\apt.py", line 399, in md5
raise ValueError('md5 sum does not match!')
ValueError: md5 sum does not match!
</code></pre>
<p>期望正常输出:</p>
<pre><code>ValueError: md5 sum does not match!
</code></pre>
<p>这是一个测试脚本:<a href="https://gist.github.com/maphew/e3a75c147cca98019cd8" rel="noreferrer">https://gist.github.com/maphew/e3a75c147cca98019cd8</a></p>