异常分类
类型 | 描述 |
---|
Exception | 所有异常的基类 |
AttributeError | 特性引用或赋值失败时引发 |
IOError | 试图打开不存在的问题时引发 |
IndexError | 在使用序列中不存在的索引时引发 |
KeyError | 在使用映射中不存在的键时引发 |
NameError | 再找不到变量时引发 |
SyntaxError | 在代码为错误形式时引发 |
TypeError | 在内建操作或者函数应用于错误类型的对象时引发 |
ValueError | 在内建操作或者函数应用于正确类型的对象,但是该对象使用不合适的值时引发 |
ZeroDivisionError | 在除法或者模除操作的第二个参数为0时引发 |
异常捕捉
多个异常分开捕捉
try:
10/0
except ZeroDivisionError:
print("except ZeroDivisionError")
except TypeError:
print("except TypeError")
多个异常一起捕捉
try:
10/0
except (ZeroDivisionError, TypeError):
print("except Error")
所有异常一起捕捉(不推荐写法)
try:
10/0
except:
print("except Error")
捕捉异常对象
try:
10/0
except (ZeroDivisionError, TypeError) as e:
print(e)
有没有异常都得做——finally
try:
10/0
except (ZeroDivisionError, TypeError) as e:
print(e)
finally:
print("finally")