python的异常种类

AttributeError 访问一个对象没有的属性 比如:foo.x 但是foo没有x属性
IOError 输入/输出异常 基本是无法打开文件
ImportError 无法映入模块或包 路径或者名称错误
IndentationError 无法错误(的子类) :代码没有正确对齐
IndexError 下表索引超出边界  比如李彪只有3个元素 却访问第五个
KeyError 访问字典不存在的键
KEYboardInterrupt Ctrl+c被按下
NameError 使用未被赋予对象的变量(即未定义)
SyntaxError python代码非法,代码不能变异(一般是语法错误)
TypeError 传入的对象类型与要求不符合
ValueError 传入一个调用者不期望的值(即使值得类型正确)

异常其他结构try....except

try:
    #主代码
    pass
except KeyError as e:
    #异常时执行代码
    pass
else:
    #主代码执行完成,执行该块
    pass
finally:
    #无论异常与否,最终执行(#注意返回时可变类型时,可能会被finally中的代码更改)
    pass
 异常处理:

  一种由语法上的错误引发的异常,另一种是逻辑上引发的错误
       对于语法的:尽量在程序执行前改正
       对于逻辑上的,尽量使用if来预防
       对于逻辑上无法预知的,使用try...except...进行捕捉处理

 

posted @ 2019-07-23 16:56  coding天荒地老  阅读(423)  评论(0编辑  收藏  举报