擅长:python、mysql、java
<p>不,那是不可能的。在异常由内部<code>except</code>处理后,外部<code>except</code>无法处理:</p>
<p>在<code>try</code>语句上的From<a href="https://docs.python.org/3.6/reference/compound_stmts.html#the-try-statement" rel="nofollow noreferrer">the docs</a>:</p>
<blockquote>
<p>When the end of this block is reached, execution continues normally after the entire try statement. (This means that if two nested handlers exist for the same exception, and the exception occurs in the try clause of the inner handler, the outer handler will not handle the exception.)</p>
</blockquote>
<p>简而言之,您唯一的解决方案可能是在外部级别使用另一个处理程序,并在内部处理程序中重新生成异常,即:</p>
<pre><code>try:
try:
raise ZeroDivisionError
except ZeroDivisionError as e:
print("caught")
raise ZeroDivisionError
except ZeroDivisionError as f:
print("caught")
</code></pre>
<p>现在,嵌套的<code>except</code>引发一个异常,该异常随后被类似的处理程序捕获。在</p>