在 《捕捉异常基础》 中我们初识了什么是异常,以及捕捉异常的基础定义方法,那么这次,让我们来学习怎么捕捉指定的异常类型。
让我们先来看下面代码:
print(i)
由于没有定义 i 这个变量,所以是肯定会报错的,具体报错如下:
Traceback (most recent call last):
File "xxx", line 2, in <module>
print(i)
NameError: name 'i' is not defined. Did you mean: 'id'?
那我们来看最后一行的第一个单词: NameError ,意思是“名字(命名)错误”。
所以,我们可以把这个词组放到捕捉异常程序中,来代替 except 后面的 Exception ,来看一下代码:
try:
print(i)
except NameError as e:
print(f"出现了变量未定义的异常{e}")
在我们学会了捕捉一个指定异常时,我们来学习捕捉多个,我们只需要将 except 内容写成一个括号,里面就写指定内容,内容之间用逗号隔开,代码如下:
try:
print(i)
print(1/0)
except (NameError,ZeroDivisionError) as e:
print("出现了变量未定义 或是 除以0的异常错误")
在掌握之后,我们可以去实践一下,因为只有敲了才能熟练嘛!