python异常类型(Exception只是常规错误的基类)
在用try…except…finally…机制处理异常的时候,一定要注意异常的继承关系。
例如在except中如果有StandardError,那么永远也捕获不到ValueError,因为ValueError是StandardError的子类,如果有,也被StandardError的except给捕获了。
下面是常见异常类型的继承关系:
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StandardError
| +-- BufferError
| +-- ArithmeticError
| | +-- FloatingPointError
| | +-- OverflowError
| | +-- ZeroDivisionError
| +-- AssertionError
| +-- AttributeError
| +-- EnvironmentError
| | +-- IOError
| | +-- OSError
| | +-- WindowsError (Windows)
| | +-- VMSError (VMS)
| +-- EOFError
| +-- ImportError
| +-- LookupError
| | +-- IndexError
| | +-- KeyError
| +-- MemoryError
| +-- NameError
| | +-- UnboundLocalError
| +-- ReferenceError
| +-- RuntimeError
| | +-- NotImplementedError
| +-- SyntaxError
| | +-- IndentationError
| | +-- TabError
| +-- SystemError
| +-- TypeError
| +-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+– ResourceWarning
python所有的标准异常类:
异常名称 | 描述 |
---|---|
BaseException | 所有异常的基类 |
SystemExit | 解释器请求退出 |
KeyboardInterrupt | 用户中断执行(通常是输入^C) |
Exception | 常规错误的基类 |
StopIteration | 迭代器没有更多的值 |
GeneratorExit | 生成器(generator)发生异常来通知退出 |
SystemExit | Python 解释器请求退出 |
StandardError | 所有的内建标准异常的基类 |
ArithmeticError | 所有数值计算错误的基类 |
FloatingPointError | 浮点计算错误 |
OverflowError | 数值运算超出最大限制 |
ZeroDivisionError | 除(或取模)零 (所有数据类型) |
AssertionError | 断言语句失败 |
AttributeError | 对象没有这个属性 |
EOFError | 没有内建输入,到达EOF 标记 |
EnvironmentError | 操作系统错误的基类 |
IOError | 输入/输出操作失败 |
OSError | 操作系统错误 |
WindowsError | 系统调用失败 |
ImportError | 导入模块/对象失败 |
KeyboardInterrupt | 用户中断执行(通常是输入^C) |
LookupError | 无效数据查询的基类 |
IndexError | 序列中没有没有此索引(index) |
KeyError | 映射中没有这个键 |
MemoryError | 内存溢出错误(对于Python 解释器不是致命的) |
NameError | 未声明/初始化对象 (没有属性) |
UnboundLocalError | 访问未初始化的本地变量 |
ReferenceError | 弱引用(Weak reference)试图访问已经垃圾回收了的对象 |
RuntimeError | 一般的运行时错误 |
NotImplementedError | 尚未实现的方法 |
SyntaxError | Python 语法错误 |
IndentationError | 缩进错误 |
TabError | Tab 和空格混用 |
SystemError | 一般的解释器系统错误 |
TypeError | 对类型无效的操作 |
ValueError | 传入无效的参数 |
UnicodeError | Unicode 相关的错误 |
UnicodeDecodeError | Unicode 解码时的错误 |
UnicodeEncodeError | Unicode 编码时错误 |
UnicodeTranslateError | Unicode 转换时错误 |
Warning | 警告的基类 |
DeprecationWarning | 关于被弃用的特征的警告 |
FutureWarning | 关于构造将来语义会有改变的警告 |
OverflowWarning | 旧的关于自动提升为长整型(long)的警告 |
PendingDeprecationWarning | 关于特性将会被废弃的警告 |
RuntimeWarning | 可疑的运行时行为(runtime behavior)的警告 |
SyntaxWarning | 可疑的语法的警告 |
UserWarning | 用户代码生成的警告 |
20200421 注意
别用Exception去接收不属于它的子类的异常,如eventlet.timeout.Timeout异常,参见:python如何判断一段代码运行是否超出一定时间,如果超出则抛出异常?(检测函数运行是否超时,规定时间内执行,限制时间)eventlet模块 (eventlet.timeout.Timeout),那样是接收不到的( ╯□╰ )
python异常类型(Exception只是常规错误的基类)相关推荐
- python 异常类型(比较全)
异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 ...
- 常见的几种异常类型 Exception
常见异常类型: Java中的异常分为两大类: 1.Checked Exception(非Runtime Exception) 2.Unchecked Exception(Runtime Excepti ...
- python异常(高级) Exception
异常(高级) Exception 异常回顾: try-except 语句 捕获(接收)异常通知,把异常流程变为正常流程 try-finally 语句 执行必须要执行的语句. raise 语句 发送异常 ...
- Python 异常(Exception)
1. 字符串为构造函数的参数 >> raise Exception('hyperdirve overload') Exception Traceback (most recent call ...
- 《Python面向对象编程指南》——1.2 基类中的__init__()方法
本节书摘来自异步社区<Python面向对象编程指南>一书中的第1章,第1.2节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区"异步社区 ...
- python中异常的处理及断言,包括异常类型、异常捕获、主动跑出异常和断言
一.异常类型介绍 什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,会影响程序的正常执行,一般情况下,在python无法正常处理程序时就会发生一个异常.异常是python对象,表示一个错误. ...
- python学习-异常(异常类型,异常处理、自定义异常)
文章目录 python标准异常 异常处理 自定义异常 python标准异常 异常就是影响程序正常执行的一个事件. 某一行代码发生异常,程序就退出了,后续代码都不会执行. 异常名称 描述 BaseExc ...
- python常见的异常类有哪些_Python常见异常类型
标签:常见 nic 警告 werror pytho 无效 本地变量 计算 point BaseException 所有异 ...
- python 异常分类_Python异常类型
python标准异常 异常名称描述 BaseException所有异常的基类 SystemExit解释器请求退出 KeyboardInterrupt用户中断执行(通常是输入^C) Exception常 ...
最新文章
- usaco Cow Pedigrees
- Intel汇编语言程序设计学习-第二章 IA-32处理器体系结构-下
- 一个独立测试组织工作的五大方面
- 读写应用程序数据-NSUserDefault、对象归档(NSKeyedArchiver)、文件操作
- 常见的不同类型运算的转换方式
- 机器学习顶刊文献_人工智能顶刊TPAMI2019最新《多模态机器学习综述》
- 【英语学习】【WOTD】impetus 释义/词源/示例
- 使用浏览器去检查exchange 2013 协议的健康状况
- WPS Office 2016 专业版终身授权正版
- 虚拟机安装linux系统教程
- 工具说明书 - 搜索引擎推荐
- 查询自己名下所有微信账户
- 三菱FX5U系列PLC电池安装方法以及GX Works3内相关参数设置
- mac中实用的录音软件有哪些?
- 检测网络不通时自动重启计算机,电脑连不上网怎么办?6个最简单最实用的解决办法,帮你轻松搞定!...
- 空间辐射环境 - 银河宇宙线
- MySql数据结构、索引优化原则(Java劝退师)
- Android application 和 activity 标签详解
- NNDL 实验七 循环神经网络(1)RNN记忆能力实验
- vue v-for循环改变循环数据视图不更新