放鹿青崖 發表於 2019-5-13 12:54:00

python所有的内置异常类型汇总

<h1 class="md-end-block md-heading md-focus"><span>内置异常基类</span></h1>
<p class="md-end-block md-p"><span class="md-plain">在 Python 中,所有异常必须为一个派生自&nbsp;<code class="xref py py-class docutils literal notranslate"><span class="pre">BaseException</span></code>&nbsp;的类的实例。 通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称。</span></p>
<p class="md-end-block md-p"><span class="md-plain">下列异常主要被用作其他异常的基类。</span></p>
<p class="md-end-block md-p"><span><strong>BaseException:&nbsp; 所有异常的基类</strong></span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain" style="color: rgba(255, 0, 0, 1)"> <strong>Exception(重点掌握)</strong></span></p>
<p class="md-end-block md-p"><span class="md-plain"> 所有内置的非系统退出类异常都派生自此类。 所有用户自定义异常也应当没打算自此类。</span></p>
</li>
</ul>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain"> <span><strong>ArithmeticError</strong></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"> 此基类用于派生针对各种算术类错误而引发的内置异常: <span class=" md-link"><span><code>OverflowError</code></span><span class="md-plain">, <span class=" md-link"><span><code>ZeroDivisionError</code></span><span class="md-plain">, <span class=" md-link"><span><code>FloatingPointError</code></span><span class="md-plain">。</span></span></span></span></span></span></span></p>
</li>
</ul>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain"> <span><strong>BufferError</strong></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"> 当与 <span class=" md-link"><span class="md-plain">缓冲区</span><span class="md-plain"> 相关的操作无法执行时将被引发。</span></span></span></p>
</li>
</ul>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain"> <span><strong>LookupError</strong></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"> 此基类用于派生当映射或序列所使用的键或索引无效时引发的异常: <span class=" md-link"><span><code>IndexError</code></span><span class="md-plain">, <span><code>KeyError</code></span></span></span></span></p>
</li>
</ul>
<h1 class="md-end-block md-heading"><span>内置<span class="md-plain">异常的层次结构</span></span></h1>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded"><span><span style="font-size: 14px; font-family: 宋体"><strong>BaseException</strong> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 所有异常的基类 &nbsp; &nbsp; &nbsp; &nbsp; </span><br><span><span style="font-size: 14px; font-family: 宋体"> +-- <strong>SystemExit</strong> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;解释器请求退出</span><br><span><span style="font-size: 14px; font-family: 宋体"> +-- <strong>KeyboardInterrupt</strong> &nbsp; &nbsp; &nbsp; &nbsp;用户中断执行(通常是输入^C)</span><br><span><span style="font-size: 14px; font-family: 宋体"> +-- <strong>GeneratorExit</strong> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;生成器(generator)发生异常来通知退出</span><br><span><span style="font-size: 14px; font-family: 宋体"> +--<strong> Exception &nbsp;</strong> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 常规错误的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- StopIteration &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;迭代器没有更多值 </span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- StopAsyncIteration &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;必须通过异步迭代器对象的__anext__()方法引发以停止迭代</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- ArithmeticError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 所有数值计算错误的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- FloatingPointError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 浮点计算错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- OverflowError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;数值运算超出最大限制</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- ZeroDivisionError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;除(或取模)零 (所有数据类型</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- AssertionError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;断言语句失败</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- AttributeError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;对象没有这个属性</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- BufferError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;与缓冲区相关的操作时引发</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- EOFError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;没有内建输入,到达EOF 标记</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- ImportError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 导入失败</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- ModuleNotFoundError &nbsp; &nbsp; &nbsp;找不到模块</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- LookupError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 无效数据查询的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- IndexError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;序列中没有此索引(index)</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- KeyError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;映射中没有这个键</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- MemoryError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 内存溢出错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- NameError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 未声明、初始化对象</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- UnboundLocalError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;访问未初始化的本地变量</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- OSError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 操作系统错误,</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- BlockingIOError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 操作将阻塞对象设置为非阻塞操作</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- ChildProcessError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 子进程上的操作失败</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- ConnectionError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 与连接相关的异常的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;| &nbsp;+-- BrokenPipeError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 在已关闭写入的套接字上写入</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;| &nbsp;+-- ConnectionAbortedError &nbsp; &nbsp;连接尝试被对等方中止</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;| &nbsp;+-- ConnectionRefusedError &nbsp; &nbsp;连接尝试被对等方拒绝</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;| &nbsp;+-- ConnectionResetError &nbsp; &nbsp; &nbsp;连接由对等方重置</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- FileExistsError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 创建已存在的文件或目录</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- FileNotFoundError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 请求不存在的文件或目录</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- InterruptedError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;系统调用被输入信号中断</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- IsADirectoryError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 在目录上请求文件操作</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- NotADirectoryError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;在不是目录的事物上请求目录操作</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- PermissionError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;在没有访问权限的情况下运行操作</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- ProcessLookupError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;进程不存在</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- TimeoutError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;系统函数在系统级别超时</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- ReferenceError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;弱引用试图访问已经垃圾回收了的对象</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- RuntimeError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;一般的运行时错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- NotImplementedError &nbsp; &nbsp;尚未实现的方法</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- RecursionError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 解释器检测到超出最大递归深度</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- SyntaxError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Python 语法错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- IndentationError &nbsp; &nbsp; &nbsp; &nbsp; 缩进错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; +-- TabError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Tab 和空格混用</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- SystemError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;一般的解释器系统错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- TypeError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 对类型无效的操作</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- ValueError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;传入无效的参数</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp;+-- UnicodeError &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Unicode 相关的错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; +-- UnicodeDecodeError &nbsp; &nbsp; Unicode 解码时的错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; +-- UnicodeEncodeError &nbsp; &nbsp; Unicode 编码时错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; +-- UnicodeTranslateErrorUnicode 转换时错误</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp;+-- Warning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 警告的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- DeprecationWarning &nbsp; &nbsp; &nbsp; &nbsp;关于被弃用的特征的警告</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- PendingDeprecationWarning &nbsp; 关于构造将来语义会有改变的警告</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- RuntimeWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 可疑的运行行为的警告</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- SyntaxWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;可疑的语法的警告</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- UserWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;用户代码生成的警告</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- FutureWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;有关已弃用功能的警告的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- ImportWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;模块导入时可能出错的警告的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- UnicodeWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 与Unicode相关的警告的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- BytesWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bytes和bytearray相关的警告的基类</span><br><span><span style="font-size: 14px; font-family: 宋体"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-- ResourceWarning &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 与资源使用相关的警告的基类。。</span><br><span><span><span style="font-size: 14px">​</span><br><span><span><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>

</div>
<div id="MySignature" role="contentinfo">
    <font color="red">=====请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/nmb-musen/,谢谢!!===== </font><br>
<li><font color="red">=====有任何疑问,欢迎加微信 MoX66999(请备注:博客园-木森)=====</font></li><br><br><br>
来源:https://www.cnblogs.com/nmb-musen/p/10856023.html
頁: [1]
查看完整版本: python所有的内置异常类型汇总