代码点读机 / Python / finally

finally Python · 关键字

异常处理里的“收尾”块:不管 try 里出不出错,最后都会执行。

怎么用

try:
    # 可能出错的代码
finally:
    # 无论是否出错都会执行的代码

小例子

try:
    f = open("文件.txt")
    # 假设这里操作文件时突然出错了
finally:
    f.close()   # 不管前面是否出错,都要关闭文件
    print("文件已关闭")

运行结果

文件已关闭
(接着抛出前面的错误)

常见使用场景

关闭文件、数据库连接、网络连接等清理工作
释放资源,比如删除临时文件
finally 不能单独使用,必须和 try 配合。如果 try 里执行了 return,finally 仍然会执行,且会在 return 前执行。

官方文档:https://docs.python.org/zh-cn/3/tutorial/errors.html#tut-cleanup

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条