简单地说,try的处理流程是:
- try的代码块报异常
- 进入except处理
- 在except退出之前执行finally的逻辑,然后再执行except的return语句。
- 如果finally逻辑有return的话,会直接return退出,except的return语句是不会被执行到。
举两个例子:
def test_try(x):
try:
print(x[1])
except:
print(1)
return 0
finally:
print('123')
print(test_try(1))
这个例子输出是
1
123
0
def test_try(x):
try:
print(x[1])
except:
print(1)
return 0
finally:
print('123')
return 3
print(test_try(1))
这个例子输出是
1
123
3
网友评论