Python中的异常处理
当程序出现异常时,可以使用try…except语句来进行异常处理。try块中是需要进行异常检测的代码;而except块中是对异常的处理方式,在程序运行过程中,如果try块中的代码抛出异常,那么就会执行对应的except块中的代码。
Python的try…except语句的语法如下:
try:
# 需要进行异常检测的代码
except:
# 对异常的处理方式
从上面的语法可以看出,try语句除了try块,还可以配合finally块和else块使用。完整的try语句的语法如下:
try:
# 需要进行异常检测的代码
except Exception1:
# 对Exception1异常的处理方式
except (Exception2, Exception3):
# 对Exception2、Exception3异常的处理方式
...
except:
# 对其他异常的处理方式
else:
# 如果try块未抛出异常,则执行else块中的代码
finally:
# 总是会执行的代码,即使try块已经抛出异常
在一个try语句中可以包含多个except块来处理不同的异常类型,每个except块都可以指定不同的异常类型。如果不知道要捕捉哪种类型的异常,可以直接使用 except: 不带任何参数,这样就会捕获到所有类型的异常。
下面看几个示例:
示例一:捕获一般异常
try:
# 读取一个不存在的文件
file = open('not_exists.txt', 'r')
except:
print('文件不存在')
在上面的代码中,如果文件不存在,就会进入到except块,打印“文件不存在”。
示例二:捕获指定异常
try:
# 除数为0的情况
10 / 0
except ZeroDivisionError:
print('除数不能为0')
在上面的代码中,因为除数为0,会抛出ZeroDivisionError异常。在except块中进行了指定ZeroDivisionError异常的处理方式,打印“除数不能为0”。
以上就是Python如何写try语句的攻略及示例,除了以上基本使用方式,还可以在使用时根据具体情况调整使用。