【Python】【基础知识】【异常】【Python的异常】报错、警告
2024-10-18 08:40:48
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
最新文章
- uva 12034
- 怎样防止重复发送 Ajax 请求?
- java 27 - 9 反射之 动态代理的概述和实现
- Object、Function、String、Array原生对象扩展方法
- UVa 11859 (Nim) Division Game
- selenium Webdriver 截图
- WCF编程系列(四)配置文件
- ARM学习笔记9——ARM汇编汇编语言中的伪指令
- smarty、thinkphp中的html加载其他的html文件的方式
- CodeForces 484B Maximum Value
- U盘启动安装Ubuntu
- ssh框架实现员工部门增删改查源码
- Echarts简单案例
- Java EE之Hibernate异常总结【5】java.lang.StackOverflowError[栈溢出]
- 菜鸟教程之工具使用(八)——EGit禁止自动转换回车换行符
- shell基础--cat命令的使用
- Docker入门与应用系列(二)镜像管理
- golang 字符串与整数, 布尔转换 strconv
- [CentOS] 7 不执行文件 /etc/rc.d/rc.local
- 播放48KHZ有1S的停顿