赞
踩
本篇我们继续学习 Python 异常处理,主要介绍 try…except…finally 语句的使用。
try…except 语句可以在 try 分支中捕获一个或多个异常并且在 except 分支中处理这些异常。该语句还有一个可选的 finally 分支:
try:
# 业务代码
except:
# 异常处理
finally:
# 清理代码
无论是否发生异常,都会执行 finally 分支中的代码。try 分支或者任何 except 分支执行之后立即执行 finally 分支。
以下流程图演示了 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…except…finally 语句中的 except 分支也可可选的,因此我们可以这样使用:
try:
# 业务代码
finally:
# 总是会被执行的代码
通常来说,当我们无法处理异常但又需要清理资源时可以使用这种语句结构。例如,无论是否出现异常都需要关闭已经打开的文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。