当前位置:   article > 正文

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

python中try except finall

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

try…except…finally 语句简介

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

try:
    # 业务代码
except:
    # 异常处理
finally:
    # 清理代码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

无论是否发生异常,都会执行 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.')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
'
运行

输出结果如下:

division by zero
Finishing up.
  • 1
  • 2

以上示例中,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.')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
'
运行

输出结果如下:

5.0
Finishing up.
  • 1
  • 2

try…finally 语句

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

try:
    # 业务代码
finally:
    # 总是会被执行的代码
  • 1
  • 2
  • 3
  • 4

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

总结

  • 无论是否发生异常,try…except…finally 语句都会执行 finally 分支中的语句。
  • 使用 finally 分支清理资源,例如关闭文件。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/835390
推荐阅读
相关标签
  

闽ICP备14008679号