Python3.6 内建异常

Posted by Yun on Fri, Nov 16, 2018

异常层次结构

The class hierarchy for built-in exceptions is:

 1BaseException 所有内置异常的基类它不意味着由用户定义的类直接继承
 2 +-- SystemExit 解释器请求退出 
 3 +-- KeyboardInterrupt 用户中断执行例如Ctrl + C
 4 +-- GeneratorExit 生成器异常退出
 5 +-- Exception 所有内置的非系统退出的异常都是从这个类派生的所有用户定义的异常也应该从这个类派生
 6      +-- StopIteration 迭代器没有更多的值
 7      +-- StopAsyncIteration 必须由asynchronous iterator对象的 __anext__()方法引发以停止迭代Py3.5引入
 8      +-- ArithmeticError 所有算术计算错误的基类
 9      |    +-- FloatingPointError 在浮点操作失败时触发
10      |    +-- OverflowError 数值运算超过最大限制
11      |    +-- ZeroDivisionError 零作为了除数
12      +-- AssertionError 断言语句失败时触发
13      +-- AttributeError 在属性引用或者赋值失败时发生
14      +-- BufferError 无法执行缓冲相关的异常
15      +-- EOFError 在input()函数未读取任何数据时触发文件结束条件EOF时引发
16      +-- ImportError 导入模块/对象失败
17      |    +-- ModuleNotFoundError 模块无法被定位Py3.6引入
18      +-- LookupError 映射或序列上使用的键或索引无效时引发的异常的基类
19      |    +-- IndexError 在序列下标超出范围时引发
20      |    +-- KeyError 在现有键集合中找不到映射字典键时引发
21      +-- MemoryError 内存溢出错误
22      +-- NameError 在未找到本地或全局名称时引发
23      |    +-- UnboundLocalError 在对函数或方法中的局部变量进行引用时引发但没有值已绑定到该变量
24      +-- OSError 操作系统错误的基类
25      |    +-- BlockingIOError 在操作会阻塞设置为非阻塞操作的对象例如套接字时触发
26      |    +-- ChildProcessError 在子进程上的操作失败时引发
27      |    +-- ConnectionError 连接相关问题的基类
28      |    |    +-- BrokenPipeError 当试图在管道上写时另一端已经关闭或试图在已关闭写入的套接字上写入
29      |    |    +-- ConnectionAbortedError 当连接尝试被对等体中止时引发
30      |    |    +-- ConnectionRefusedError 当对等体拒绝连接尝试时引发
31      |    |    +-- ConnectionResetError 当对等体重置连接时引发
32      |    +-- FileExistsError 在尝试创建已存在的文件或目录时引发
33      |    +-- FileNotFoundError 在请求文件或目录但不存在时引发
34      |    +-- InterruptedError 在系统调用被输入信号中断时触发
35      |    +-- IsADirectoryError 在目录上请求文件操作时引发
36      |    +-- NotADirectoryError 在对不是目录的某个目录请求目录操作时引发
37      |    +-- PermissionError 在尝试运行没有足够访问权限的操作例如文件系统权限时引发
38      |    +-- ProcessLookupError 在给定进程不存在时引发
39      |    +-- TimeoutError 在系统级别的系统函数超时时触发
40      +-- ReferenceError 弱引用代理在垃圾回收后用于访问引用对象的属性时引发此异常
41      +-- RuntimeError 一般的运行时错误
42      |    +-- NotImplementedError 尚未实现的方法
43      |    +-- RecursionError 超出最大递归深度Py3.5引入
44      +-- SyntaxError 解析器遇到语法错误时触发
45      |    +-- IndentationError 与不正确缩进相关的语法错误的基类
46      |         +-- TabError 在缩进包含制表符和空格不一致的使用时引发
47      +-- SystemError 一般的解释器系统错误
48      +-- TypeError 对不适当类型的对象应用操作或函数时引发
49      +-- ValueError 内置操作或函数接收到具有正确类型但不适当值的参数时触发
50      |    +-- UnicodeError Unicode相关的错误
51      |         +-- UnicodeDecodeError Unicode解码错误
52      |         +-- UnicodeEncodeError Unicode编码错误
53      |         +-- UnicodeTranslateError Unicode转码错误
54      +-- Warning 警告类别的基类
55           +-- DeprecationWarning 有关已弃用功能的警告的基类
56           +-- PendingDeprecationWarning 对于将来将被弃用的功能的警告的基类
57           +-- RuntimeWarning 用于关于可疑运行时行为的警告的基类
58           +-- SyntaxWarning 有关可疑语法的警告的基类
59           +-- UserWarning 用户代码生成的警告的基类
60           +-- FutureWarning 对于将来会在语义上更改的构造的警告的基类
61           +-- ImportWarning 用于警告模块导入中可能出现的错误
62           +-- UnicodeWarning 与Unicode相关的警告的基类
63           +-- BytesWarning 与 bytes 和 bytearray 相关的警告的基类
64           +-- ResourceWarning 与资源使用相关的警告的基类

参考链接

https://docs.python.org/3.6/library/exceptions.html https://docs.python.org/3.6/tutorial/errors.html https://www.rddoc.com/doc/Python/3.6.0/zh/library/exceptions/


版权声明:本文遵循 CC BY-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

Copyright statement: This article follows the CC BY-SA 4.0 copyright agreement. For reprinting, please attach the original source link and this statement.