异常层次结构
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.