摘要:在本节中,你将学习 Python 的 try...except...finally
语句。
Python try…except…finally
语句介绍
try...except
语句允许你在 try
子句中捕获一个或多个异常,并在 except
子句中对每个异常进行处理。
try...except
语句还包含一个可选的子句,称为 finally
:
try:
# code that may cause exceptions
except:
# code that handle exceptions
finally:
# code that clean up
finally
子句无论是否发生异常都会执行。并且它会在 try
子句以及所有 except
子句执行之后执行。
以下流程图展示了 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…finally
语句
try...except...finally
语句中的 except
子句是可选的。因此,你可以这样写:
try:
# the code that may cause an exception
finally:
# the code that always executes
通常情况下,当无法处理异常,但希望清理资源(例如关闭已打开的文件)时,会使用该语句。
总结
使用 Python 的
try...except...finally
语句,无论是否发生异常,均可执行代码块。使用
finally
子句清理资源,例如关闭文件。