【发布时间】:2010-10-05 17:56:54
【问题描述】:
我至少发现了以下行为奇怪:
def errors():
try:
ErrorErrorError
finally:
return 10
print errors()
# prints: 10
# It should raise: NameError: name 'ErrorErrorError' is not defined
当您在 finally 子句中使用 return 时,异常会消失。那是一个错误吗?这在任何地方都有记录吗?
但真正的问题(以及我将标记为正确的答案)是:
python 开发人员允许这种奇怪行为的原因是什么?
【问题讨论】:
标签: python exception return finally