1.异常的定义
异常指程序在运行过程中发生的错误,异常会导致程序意外终止。
异常处理可捕捉程序中发生的异常,执行相应的处理代码,避免程序意外终止。
程序中的语法错误不属于异常。
except 不加参数可以同时捕捉多个异常,但是同一时刻只能有一个异常发生
2.常见的异常类型
AttributeError:访问对象属性出错时引发的异常,例如访问不存在的属性或属性不支持赋值等。
EOFError:使用input()函数读文件,遇到文件结束标志EOF时发生的异常。文件对象的read()和
readline()方法遇到EOF时返回空字符串,不会引发异常。
ImportError:导入模块出错引发的异常。
IndexError:使用序列对象的下标超出范围时引发的异常。
StopIteration:迭代器没有可执行迭代的迭代元素引发的异常。
IndentationError:使用了不正确的缩进引发的异常。
TabError:同时使用Tab键和空格导致缩进不一致引发的异常。
TypeError:在运算或函数调用时,使用了不兼容的类型引发的异常。
ZeroDivisionError:除数为0时引发的异常。
3.基本的异常处理
try:
可能引发异常的代码,可以为函数或方法
except 异常类型名称:
异常处理代码
else:
没有发生异常时执行的代码
finally:
不管是否发生异常,都会执行的代码
4.自定义异常
class 异常名称(Exception):
异常检测代码块
在try中引用该class的方法可以检测出异常