在Python中,try...except
语句用于捕获和处理程序运行时的异常。以下是如何使用try...except
语句的基本步骤:
- 编写可能引发异常的代码:将可能引发异常的代码放在
try
块中。 - 捕获特定类型的异常:使用
except
块来捕获特定类型的异常,并定义相应的处理逻辑。 - 可选地捕获所有异常:使用通用的
except Exception as e
来捕获所有类型的异常,并定义相应的处理逻辑。 - 可选地添加else子句:如果
try
块中的代码没有引发任何异常,可以执行else
块中的代码。 - 可选地添加finally子句:无论是否引发异常,
finally
块中的代码都会执行,通常用于清理工作。
下面是一个示例,展示了如何使用try...except
语句:
try:
# 可能引发异常的代码
result = 10 / 0
except ZeroDivisionError as e:
# 捕获特定类型的异常并处理
print(f"捕获到异常:{e}")
except Exception as e:
# 捕获所有其他类型的异常并处理
print(f"捕获到未知异常:{e}")
else:
# 如果没有引发异常,则执行此块
print("没有发生异常")
finally:
# 无论是否引发异常,都执行此块
print("执行清理工作")
在这个例子中,try
块中的代码尝试进行除法运算,但由于除数为零,会引发ZeroDivisionError
异常。该异常被第一个except
块捕获并处理,打印出相应的错误信息。如果没有引发异常,则会执行else
块中的代码。无论是否引发异常,finally
块中的代码都会被执行,用于执行清理工作。
通过合理使用try...except
语句,可以提高程序的健壮性和稳定性,确保程序在遇到异常情况时能够优雅地处理并继续运行或终止。