常见异常
nameError :尝试访问一个没有声明的变量而出错
indexError:索引超出序列范围而出现的错误
indentationError:缩进错误
valueError:传入的值错误
keyError:请求一个不存在的字典关键词引发的错误
IOError:输入输出错误(如要读取的文件不存在)
ImportError: 当import语句无法找到模块或from无法在模块中找到相应的名称
AttributeError:尝试访问未知对象属性
TypeErroe:类型不合适
MemoryError:内存不足
ZeroDivisionError:除数为0引发
异常处理语句
try:
block1
except [ Exceptionname [ as alias ] ] :
block2
block1:可能出错的代码块
exceptionname:可选参数,用于指定要捕获的异常。如果在其右侧加上as alias,则表示为当前的异常的一个别名,通过该别名,可以记录异常的具体内容。
try:
block1
except [ Exceptionname [ as alias ] ] :
block2
else:
else语句用于指定当try语句中没有发现异常时要执行的语句块。
try:
block1
except [ Exceptionname [ as alias ] ] :
block2
finally:
block3
有无异常,finally语句块都会被执行。
raise [ Exceptionname [ ( reason ) ] ]
Exceptionname [ ( reason ) ]为可选参数,用于指定抛出的异常名称以及异常信息的相关描述。如果省去,就会把当前的错误原样抛出