Python try except finally执行顺序

简单地说,try的处理流程是:

  1. try的代码块报异常
  2. 进入except处理
  3. 在except退出之前执行finally的逻辑,然后再执行except的return语句。
  4. 如果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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容