一、常见的异常
- ZeroDivision 除数为0
- IndexError 索引值超出范围(取列表或字符串中元素可能出现)
- KeyError 关键字在字典中不存在
- NameError 访问的变量不存在
- AssertionError 断言不成立(asser语句不成立)
二、异常捕获
try:
检测范围语句块
except [异常类型1]:
处理代码1
except [异常类型2]:
处理代码2
...
try执行到一个异常语句后,后面的异常语句不再执行,抛出相应的异常。
try:
检测范围语句块
except [异常类型]:
处理代码
finally:
无论有没有异常,都会执行finally里面的语句
...
例
try:
fo = open('hhhhh.txt')
except FileNotFoundError as reason:# reason -- 具体是什么异常
print(reason)
输出
[Errno 2] No such file or directory: 'hhhhh.txt'
三、自己写异常
raise Exception
n = 0
if n == 0:
raise ZeroDivisionError
r = 5/n
输出
Traceback (most recent call last):
File "E:***/ans1.py", line 32, in <module>
raise ZeroDivisionError
ZeroDivisionError