Python的try-except-else
语句是用于捕捉异常的一种方法。它的常见用法是在一个try
语句块中包含有可能会抛出异常的代码,对于不同的异常类型使用不同的except
语句块来处理异常,并且使用else
语句块来处理正常执行的代码。
使用try-except-else
的基本语法
try:
# 可能会抛出异常的代码
except ExceptionType1:
# 处理一种类型的异常
except ExceptionType2:
# 处理另一种类型的异常
else:
# 没有异常时执行的代码
其中ExceptionType
是指你要捕捉的异常类型。如果不指定异常类型,则表示捕捉所有类型的异常。
try-except-else
的用法示例
示例一
try:
num = int(input("请输入一个数字:"))
result = 100 / num
except ZeroDivisionError:
print("除数不能是0")
else:
print("计算结果是:", result)
在这个示例中,我们首先使用input()
函数获取用户输入的数字,并将其转换为整数型数据。然后我们尝试计算100除以用户输入的数字,如果用户输入的数字是0,则会抛出ZeroDivisionError
异常。在异常被捕捉到之后,程序不会继续执行else
语句块中的代码,而是直接进入except
语句块中进行异常处理。
如果用户输入的数字不是0,则计算结果会保存到result
变量中,并且程序会跳过except
语句块,直接进入else
语句块中,输出计算结果。
示例二
try:
with open("example.txt", "r") as f:
lines = f.readlines()
except FileNotFoundError:
print("文件不存在")
else:
for line in lines:
print(line.strip())
在这个示例中,我们使用with
语句打开一个名为example.txt
的文本文件,读取其中的所有行,并将其保存到lines
列表中。如果文件不存在,程序会抛出FileNotFoundError
异常,否则程序会跳过except
语句块,进入else
语句块中,使用for
循环输出每行的内容(去掉行尾的换行符)。
总结
使用try-except-else
语句可以有效地处理可能会抛出异常的代码。在使用时,应该根据具体情况将异常类型细分,并针对不同的异常类型设计不同的异常处理方式。此外,else
语句块中可以放置程序正常执行的代码,避免将所有代码都放在try
语句块中,提高程序的可读性和可维护性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python try except else使用详解 - Python技术站