擅长:python、mysql、java
<p><a href="https://stackoverflow.com/a/11722928/1258041">Here</a>是引用文档相关部分的答案:</p>
<blockquote>
<p>The try clause is executed, including any except and else clauses. If an exception occurs in any of the clauses and is not handled, the exception is temporarily saved. The finally clause is executed. If there is a saved exception it is re-raised at the end of the finally clause. If the finally clause raises another exception, the saved exception is set as the context of the new exception. <strong>If the finally clause executes a return or break statement, the saved exception is discarded</strong>:</p>
</blockquote>
<pre><code>>>> def f():
... try:
... 1/0
... finally:
... return 42
...
>>> f()
42
</code></pre>
<p>另外,我不太明白你到底想达到什么目的;正如zmbq链接的顶部答案所指出的,你不可能两者兼得。</p>