【Python】【基础知识】【异常】【Python的异常】报错、警告
Python的异常
异常的层次结构:
BaseException 【所有异常的基类】
+-- SystemExit 【解释器请求退出】
+-- KeyboardInterrupt 【用户中断执行(通常是输入^C)】
+-- GeneratorExit 【生成器(generator)发生异常来通知退出】
+-- Exception 【常规错误的基类】
+-- StopIteration 【迭代器没有更多的值】
+-- StopAsyncIteration
+-- ArithmeticError 【所有数值计算错误的基类】
| +-- FloatingPointError 【浮点计算错误】
| +-- OverflowError 【数值运算超出最大限制】
| +-- ZeroDivisionError 【除(或取模)零 (所有数据类型)】
+-- AssertionError 【断言语句失败】
+-- AttributeError 【对象没有这个属性】
+-- BufferError
+-- EOFError 【没有内建输入,到达EOF 标记】
+-- ImportError 【导入模块/对象失败】
| +-- ModuleNotFoundError
+-- LookupError 【无效数据查询的基类】
| +-- IndexError 【序列中没有此索引(index)】
| +-- KeyError 【映射中没有这个键】
+-- MemoryError 【内存溢出错误(对于Python 解释器不是致命的)】
+-- NameError 【未声明/初始化对象 (没有属性)】
| +-- UnboundLocalError 【访问未初始化的本地变量】
+-- OSError 【操作系统错误】
| +-- BlockingIOError 【当一个操作会被某个设置为非阻塞操作的对象(例如套接字)所阻塞时将被引发】
| +-- ChildProcessError 【当一个子进程上的操作失败时将被引发】
| +-- ConnectionError 【与连接相关问题的基类。】
| | +-- BrokenPipeError【当试图写入另一端已被关闭的管道,或试图写入已关闭写入的套接字时将被引发】
| | +-- ConnectionAbortedError 【当连接尝试被对端中止时将被引发】
| | +-- ConnectionRefusedError 【当连接尝试被对端拒绝时将被引发。】
| | +-- ConnectionResetError 【当连接被对端重置时将被引发。】
| +-- FileExistsError 【当试图创建一个已存在的文件或目录时将被引发。】
| +-- FileNotFoundError 【当所请求的文件或目录不存在时将被引发。 】
| +-- InterruptedError 【当系统调用被输入信号中断时将被引发。】
| +-- IsADirectoryError 【当请求对一个目录执行文件操作 (例如 os.remove()
) 将被引发】
| +-- NotADirectoryError 【当请求对一个非目录对象执行目录操作 (例如 os.listdir()
) 时将被引发】
| +-- PermissionError【当在没有足够操作权限的情况下试图执行某个操作时将被引发—如缺少文件系统权限】
| +-- ProcessLookupError 【当给定的进程不存在时将被引发。】
| +-- TimeoutError 【当一个系统函数发生系统级超时的情况下将被引发。 】
+-- ReferenceError 【弱引用(Weak reference)试图访问已经垃圾回收了的对象】
+-- RuntimeError 【一般的运行时错误】
| +-- NotImplementedError 【尚未实现的方法】
| +-- RecursionError【会在解释器检测发现超过最大递归深度(参见 sys.getrecursionlimit()
)时被引发】
+-- SyntaxError 【Python 语法错误】
| +-- 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 【与 bytes
和 bytearray
相关的警告的基类。】
+-- ResourceWarning 【与资源使用相关的警告的基类。 会被默认的警告过滤器忽略。】
其他:
StandardError 所有的内建标准异常的基类
OverflowWarning 旧的关于自动提升为长整型(long)的警告
WindowsError 系统调用失败
EnvironmentError 操作系统错误的基类
IOError 输入/输出操作失败
list index out of range 列表索引超出范围。
————————(我是分割线)————————
参考:
1. https://www.runoob.com/python/python-exceptions.html
2.Python DOC :https://docs.python.org/zh-cn/3/library/exceptions.html#concrete-exceptions
备注:
初次编辑时间:2019年10月5日14:11:31
环境:Windows 7
————————
欢迎访问我的博客;
如果您觉得有用,请点赞!
说明:
标题带有*表示重要或待重新查看确认
标题带有#表示未编辑完成;待补充
标题带有######表示为概要目录