下面以python为例进行介绍。
Python是面向对象语言,所以程序抛出的异常也是类。所以异常也有“继承”关系,下面这张图来自《The Practice of Computing Using Python》这本书,很好的总结了Python
常见异常以及之间的“继承”关系。
具体介绍如下:
Exception:常规错误的基类
GeneratorExit:生成器发生异常来通知退出
StandardError:所有的内建标准异常的基类
ArithmeticError:所有数值计算错误的基类
FloatingPointError:浮点计算错误
OverflowError:数值运算超出最大限制
ZeroDivisionError:除(或取模)零 (所有数据类型)
AssertionError:断言语句失败
AttributeError:对象没有这个属性
EnvironmentError:操作系统错误的基类
IOError:输入/输出操作失败
OSError:操作系统错误
EOFError:没有内建输入,到达EOF 标记
ImportError:导入模块/对象失败
LookupError:无效数据查询的基类
IndexError:序列中没有此索引(index)
KeyError 映射中没有这个键
MemoryError:内存溢出错误(对于Python 解释器不是致命的)
NameError:未声明/初始化对象 (没有属性)
UnboundLocalError:访问未初始化的本地变量
ReferenceError:弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError:一般的运行时错误
NotImplementedError:尚未实现的方法
SyntaxError Python:语法错误
IndentationError:缩进错误
TabError Tab:和空格混用
SystemError:一般的解释器系统错误
TypeError:对类型无效的操作
ValueError:传入无效的参数
UnicodeError Unicode:相关的错误
UnicodeDecodeError Unicode:解码时的错误
UnicodeEncodeError Unicode:编码时错误
UnicodeTranslateError Unicode:转换时错误