我想知道函数 foo 为什么返回3而不是1.请解释。
def foo():
try:
return 1
except:
return 2
finally:
return 3
答案 0 :(得分:1)
无论异常如何,finally块都会执行。看一下这个question。
详细说明,finally
子句总是在try
语句结束之前执行。这是documentation。
答案 1 :(得分:0)
最后总是执行try块后发生的最后一项。
是的,执行finally块但是流离开try块 - 无论是到达结尾,返回还是抛出异常。