0
点赞
收藏
分享

微信扫一扫

【Python入门教程】第53篇 异常处理之try…except…finally

本篇我们继续学习 Python 异常处理,主要介绍 try…except…finally 语句的使用。

try…except…finally 语句简介

try…except 语句可以在 try 分支中捕获一个或多个异常并且在 except 分支中处理这些异常。该语句还有一个可选的 finally 分支:

try:
    # 业务代码
except:
    # 异常处理
finally:
    # 清理代码

无论是否发生异常,都会执行 finally 分支中的代码。try 分支或者任何 except 分支执行之后立即执行 finally 分支。

以下流程图演示了 try…except…finally 语句的执行过程:

Python try catch finally statement

try…except…finally 语句示例

以下示例使用了 try…except…finally 语句:

a = 10
b = 0

try:
    c = a / b
    print(c)
except ZeroDivisionError as error:
    print(error)
finally:
    print('Finishing up.')

输出结果如下:

division by zero
Finishing up.

以上示例中,try 分支产生了一个 ZeroDivisionError 异常,执行 except 分支之后还执行了 finally 分支。

以下示例中的 try 分支没有产生异常,因此执行完 try 分支之后再执行 finally 分支:

a = 10
b = 2

try:
    c = a / b
    print(c)
except ZeroDivisionError as error:
    print(error)
finally:
    print('Finishing up.')

输出结果如下:

5.0
Finishing up.

try…finally 语句

try…except…finally 语句中的 except 分支也可可选的,因此我们可以这样使用:

try:
    # 业务代码
finally:
    # 总是会被执行的代码

通常来说,当我们无法处理异常但又需要清理资源时可以使用这种语句结构。例如,无论是否出现异常都需要关闭已经打开的文件。

总结

  • 无论是否发生异常,try…except…finally 语句都会执行 finally 分支中的语句。
  • 使用 finally 分支清理资源,例如关闭文件。
举报

相关推荐

0 条评论