擅长:python、mysql、java
<pre><code>try:
try:
myfruits = FruitFunction() #Raises some exception (unknown)
assert "orange" in myfruits #Raises AssertionError (known)
except AssertionError:
# handle assertion
raise
except Exception:
# handle everything
</code></pre>
<p>我假设您不能将抛出不同异常的两个语句分开(例如,因为它们在另一个函数中一起关闭)。如果可以的话,以下内容将更加精确和直接:</p>
^{pr2}$
<p>它更精确,因为如果<code>FruitFunction()</code>引发的未知异常恰好是<code>AssertionError</code>,那么它就不会被捕获到内部<code>try</code>。如果不分离语句,就没有(合理的)方法来区分从两个不同位置抛出的同一类型的两个异常。因此,对于第一个代码,您最好希望<code>FruitFunction()</code>不会引发<code>AssertionError</code>,或者如果它发生了,那么可以用与另一个相同的方式处理。在</p>