本文包含 python 2 及 python 3 中所有的异常方法!
Python 2 标准异常
via : https://docs.python.org/2/library/exceptions.html#bltin-exceptions
<code> BaseException 所有异常的基类 +-- SystemExit 解释器请求退出 +-- KeyboardInterrupt 用户中断执行(通常是输入^C) +-- GeneratorExit 生成器调用close()方法时触发的 +-- Exception 常规错误的基类,异常都是从基类Exception继承的。 +-- StopIteration 迭代器没有更多的值 +-- StandardError 所有的内建标准异常的基类 | +-- BufferError 缓冲区操作不能执行 | +-- ArithmeticError 所有数值计算错误的基类 | | +-- FloatingPointError 浮点计算错误 | | +-- OverflowError 数值运算超出最大限制 | | +-- ZeroDivisionError 除(或取模)零 (所有数据类型) | +-- AssertionError 断言语句失败 | +-- AttributeError 访问未知对象属性 | +-- EnvironmentError 操作系统错误的基类 | | +-- IOError 输入输出错误 | | +-- OSError 操作系统错误 | | +-- WindowsError (Windows) 系统调用失败 | | +-- VMSError (VMS) 系统调用失败 | +-- EOFError 没有内建输入,到达EOF 标记 | +-- ImportError 导入模块/对象失败 | +-- LookupError 无效数据查询的基类,键、值不存在引发的异常 | | +-- IndexError 索引超出范围 | | +-- KeyError 字典关键字不存在 | +-- MemoryError 内存溢出错误(对于Python 解释器不是致命的) | +-- NameError 未声明/初始化对象 (没有属性) | | +-- UnboundLocalError 访问未初始化的本地变量 | +-- ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象 | +-- RuntimeError 一般的运行时错误 | | +-- NotImplementedError 尚未实现的方法 | +-- SyntaxError 语法错误 | | +-- IndentationError 缩进错误 | | +-- TabError Tab和空格混用 | +-- SystemError 一般的解释器系统错误 | +-- TypeError 对类型无效的操作 | +-- ValueError 传入无效的参数 | +-- UnicodeError Unicode 相关的错误 | +-- UnicodeDecodeError Unicode 解码时的错误 | +-- UnicodeEncodeError Unicode 编码时错误 | +-- UnicodeTranslateError Unicode 转换时错误 +-- Warning 警告的基类 +-- DeprecationWarning 关于被弃用的特征的警告 +-- PendingDeprecationWarning 关于特性将会被废弃的警告 +-- RuntimeWarning 可疑的运行时行为(runtime behavior)的警告 +-- SyntaxWarning 可疑的语法的警告 +-- UserWarning 用户代码生成的警告 +-- FutureWarning 关于构造将来语义会有改变的警告 +-- ImportWarning 关于模块进口可能出现错误的警告的基类。 +-- UnicodeWarning 有关Unicode警告的基类。 +-- BytesWarning 有关字节警告相关的基类。 </code>
Python 3 标准异常
via : https://docs.python.org/3/library/exceptions.html#bltin-exceptions
<code> BaseException 所有异常的基类 +-- SystemExit 解释器请求退出 +-- KeyboardInterrupt 用户中断执行(通常是输入^C) +-- GeneratorExit 生成器调用close()方法时触发的 +-- Exception 常规错误的基类,异常都是从基类Exception继承的。 +-- StopIteration 迭代器没有更多的值 +-- StopAsyncIteration 停止异步迭代 +-- ArithmeticError 所有数值计算错误的基类 | +-- FloatingPointError 浮点计算错误 | +-- OverflowError 数值运算超出最大限制 | +-- ZeroDivisionError 除(或取模)零 (所有数据类型) +-- AssertionError 断言语句失败 +-- AttributeError 访问未知对象属性 +-- BufferError 缓冲区操作不能执行 +-- EOFError 没有内建输入,到达EOF 标记 +-- ImportError 导入模块/对象失败 +-- LookupError 无效数据查询的基类,键、值不存在引发的异常 | +-- IndexError 索引超出范围 | +-- KeyError 字典关键字不存在 +-- MemoryError 内存溢出错误(对于Python 解释器不是致命的) +-- NameError 未声明/初始化对象 (没有属性) | +-- UnboundLocalError 访问未初始化的本地变量 +-- OSError 操作系统错误 | +-- BlockingIOError 操作对象为非阻塞时引发 | +-- ChildProcessError 子进程操作失败 | +-- ConnectionError 基类连接问题 | | +-- BrokenPipeError 管道出错时写入数据 | | +-- ConnectionAbortedError 连接中断 | | +-- ConnectionRefusedError 连接拒绝 | | +-- ConnectionResetError 连接被重置 | +-- FileExistsError 文件或目录已存在 | +-- FileNotFoundError 请求的文件或目录不存在 | +-- InterruptedError 系统调用中断 | +-- IsADirectoryError 把目录当文件来操作时 | +-- NotADirectoryError 操作的是非目录 | +-- PermissionError 权限不足 | +-- ProcessLookupError 进程不存在 | +-- TimeoutError 系统执行超时 +-- ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象 +-- RuntimeError 一般的运行时错误 | +-- NotImplementedError 尚未实现的方法 | +-- RecursionError 栈溢出 +-- SyntaxError 语法错误 | +-- IndentationError 缩进错误 | +-- TabError Tab和空格混用 +-- SystemError 一般的解释器系统错误 +-- TypeError 对类型无效的操作 +-- ValueError 传入无效的参数 | +-- UnicodeError Unicode 相关的错误 | +-- UnicodeDecodeError Unicode 解码时的错误 | +-- UnicodeEncodeError Unicode 编码时错误 | +-- UnicodeTranslateError Unicode 转换时错误 +-- Warning 警告的基类 +-- DeprecationWarning 关于被弃用的特征的警告 +-- PendingDeprecationWarning 关于特性将会被废弃的警告 +-- RuntimeWarning 可疑的运行时行为(runtime behavior)的警告 +-- SyntaxWarning 可疑的语法的警告 +-- UserWarning 用户代码生成的警告 +-- FutureWarning 关于构造将来语义会有改变的警告 +-- ImportWarning 关于模块进口可能出现错误的警告的基类。 +-- UnicodeWarning 有关Unicode警告的基类。 +-- BytesWarning 有关字节警告相关的基类。 +-- ResourceWarning 有关资源使用警告的基类。 </code>
python 中常见的异常
异常 | 描述 |
NameError | 未声明/初始化对象 (没有属性) |
ZeroDivisionError | 除(或取模)零 (所有数据类型) |
SyntaxError | 语法错误 |
IndexError | 索引超出序列范围 |
KeyError | 请求一个不存在的字典关键字 |
IOError | 输入输出错误(比如你要读的文件不存在) |
AttributeError | 访问未知对象属性 |
ValueError | 传入无效的参数 |