轻松解决python异常处理,你值得拥有
python中常见的异常信息+处理方法
常见异常类型
异常类名 | 功能描述 |
---|---|
Exception | 所有异常的基类 |
ValueError | 对象值不正确时引发该错误 |
AttributeError | 对象中没有该属性或方法时引发该错误 |
SyntaxError | 语法错误时引发该错误 |
IndexError | 指定数据类型索引超出序列范围时引发该错误 |
KeyError | 申请字典或集合不存在的键或关键字时引发该错误 |
NameError | 使用不存在的标识符时引发该错误 |
TypeError | 传给对象的参数类型不正确时引发该错误 |
MoudleNoFoundError | 找不到模块名时引发该错误 |
EOFError | 一个'end of file'到达控制台或文件输入时引发该错误 |
IOError | 输入/输出操作失败时引发该错误 |
StopIteration | 遍历的迭代器(生产器)中没有元素时引发该错误 |
异常处理
-
使用try except (else finally)方法去处理异常,其中后两者可选
ls=[1,2,3,4] try: for i in range(10): print(ls[i]) #触发异常就执行except下的代码 except IndexError: #设置异常类型,异常类型可省略不写 pass #没有触发异常就执行else下的代码 else: print('没有超出索引范围') #无论有没有触发异常都会执行finally下的代码 finally: print('都取完了,取值结束')
-
主动抛出异常
- 使用raise 异常类型(错误的信息描述)
ls=[1,2,3,4] for i in range(10): print(ls[i]) while i==len(ls)-1: raise IndexError('据我观察 list index out range')