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
。
我无法理解以下控制流程。
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
子句的必要性是什么?
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
。