Python 异常处理中 "else" 的必要性是什么?

what's the necessity of "else" in Python exception handling?

我无法理解以下控制流程。

try:
    # normal execution block
except A:
    # handle exception A
except B:
    # handle exception B
except:
    # handle other exceptions
else:
    # if no exceptions, go here
finally:
    # always do this

我不明白 a else 在这种情况下的用途。我来自 Java,那里没有用于处理异常的 else 子句。

如果我有东西要写在 else 部分,我会假设我也可以直接在异常处理部分之外写它。

那么,Python 异常处理中的 else 子句的必要性是什么?

"=12=" 的“=15=”。 "=13=" "=10=" 即使使用“=15=”:“=13=” "=11="
processing = True

try:
    x = might_raise_a_key_error()
    # a
except KeyError:
    ...
else:
    # b
finally:
    processing = False

# c

如果您有一段代码 1) 依赖于 x,2) 您不希望由 except KeyError 处理,但是 3) 您确实希望由 [=13] 覆盖=]子句,你是放在# a# b还是# c

答案:# b