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