擅长:python、mysql、java
<p>我可能会同意Martijn的回答,但是您也可以将try/except块包装在另一层try/except中(在实际代码中,我不赞成这样使用bare except,或者更可能定义一个新的异常,它是从您想要检测的任何<code>except:</code>子句中抛出的)</p>
<pre><code>def exception_test(val):
try:
try:
result = 1.0 / val
except ZeroDivisionError:
print "Divide by zero"
raise
else:
print "1 / {0} = {1}".format(val, result)
except:
print "there was an exception thrown."
>>> exception_test(2.0)
1 / 2.0 = 0.5
>>> exception_test(0)
Divide by zero
there was an exception thrown.
</code></pre>