# 内置异常
| 异常类型 |
继承 |
说明 |
BaseException |
|
所有异常的终极基类 |
BaseExceptionGroup |
BaseException |
用于包裹多个异常 |
GeneratorExit |
BaseException |
generator 或 coroutine 被关闭时产生 |
KeyboardInterrupt |
BaseException |
用户按下中断快捷键(通常是 Ctrl + C) |
SystemExit |
BaseException |
由 sys.exit() 函数引发 |
Exception |
BaseException |
所有内置的非系统退出类异常都派生自此类。 所有用户自定义异常也应当派生自此类。 |
ArithmeticError |
Exception |
算术错误 |
FloatingPointError |
ArithmeticError |
浮点错误,未被使用 |
OverflowError |
ArithmeticError |
溢出错误,即算术运算的结果大到无法表示 |
ZeroDivisionError |
ArithmeticError |
除零错误,除数为零时产生 |
AssertionError |
Exception |
断言错误,assert 语句失败时将产生 |
AttributeError |
Exception |
属性错误,属性引用或赋值失败时产生 |
BufferError |
Exception |
缓冲错误,当缓冲区相关操作无法执行时产生 |
EOFError |
Exception |
当 input 函数未读取任何数据即达到文件结束 (EOF) 时产生 |
ExceptionGroup |
Exception |
用于包装多个 Exception |
BaseExceptionGroup |
Exception |
用于包装多个 BaseException |
ImportError |
Exception |
导入错误,import 出错时产生 |
ModuleNotFoundError |
ImportError |
import 模块不存在时产生 |
LookupError |
Exception |
查找错误,索引或键无效时产生 |
IndexError |
LookupError |
索引错误 |
KeyError |
LookupError |
键错误 |
MemoryError |
Exception |
内存错误,内存耗尽时产生 |
NameError |
Exception |
名称错误,访问不存在的变量、函数、类等名称时产生 |
UnboundLocalError |
NameError |
使用未绑定值的局部变量时产生,例如在变量创建前访问 |
OSError |
Exception |
操作系统相关的错误 |
BlockingIOError |
OSError |
非阻塞操作的对象上发生阻塞时产生 |
ChildProcessError |
OSError |
子进程错误 |
ConnectionError |
OSError |
连接错误 |
BrokenPipeError |
ConnectionError |
试图写入一个已经关闭的管道或 socket 时产生 |
ConnectionAbortedError |
ConnectionError |
连接被对端中止 |
ConnectionRefusedError |
ConnectionError |
连接被对端拒绝 |
ConnectionResetError |
ConnectionError |
连接被对端重置 |
FileExistsError |
OSError |
试图创建一个已存在的文件或目录时产生 |
FileNotFoundError |
OSError |
文件或目录不存在时产生 |
InterruptedError |
OSError |
中断错误,系统调用被传入的信号中断时产生 |
IsADirectoryError |
OSError |
对目录进行文件操作时产生 |
NotADirectoryError |
OSError |
一个非目录执行目录操作时产生 |
PermissionError |
OSError |
权限错误 |
ProcessLookupError |
OSError |
操作的进程不存在时产生 |
TimeoutError |
OSError |
超时错误 |
ReferenceError |
Exception |
引用错误,访问被回收的弱引用时产生 |
RuntimeError |
Exception |
运行时错误 |
NotImplementedError |
RuntimeError |
抽象方法未实现时产生 |
RecursionError |
RuntimeError |
递归错误,递归深度超出限制时产生 |
StopAsyncIteration |
Exception |
用于异步可迭代对象通知迭代结束 |
StopIteration |
Exception |
用于可迭代对象通知迭代结束 |
SyntaxError |
Exception |
语法错误 |
IndentationError |
SyntaxError |
缩进不正确的语法错误 |
TabError |
IndentationError |
缩进包含对制表符和空格符不一致的使用 |
SystemError |
Exception |
系统错误,解释器内部发生错误 |
TypeError |
Exception |
类型错误 |
ValueError |
Exception |
值错误 |
UnicodeError |
ValueError |
Unicode 错误 |
UnicodeDecodeError |
UnicodeError |
Unicode 解码错误 |
UnicodeEncodeError |
UnicodeError |
Unicode 编码错误 |
UnicodeTranslateError |
UnicodeError |
Unicode 转写错误 |
Warning |
Exception |
警告的基类 |
BytesWarning |
Warning |
与 bytes 和 bytearray 相关的警告的基类 |
DeprecationWarning |
Warning |
使用已经被废弃的接口的警告的基类 |
EncodingWarning |
Warning |
编码格式相关的警告的基类 |
FutureWarning |
Warning |
使用已经被废弃的特性的警告 |
ImportWarning |
Warning |
模块导入时的警告的基类,默认会被忽略,通过 -X dev 选项开启开发者模式时才会显示 |
PendingDeprecationWarning |
Warning |
使用将要被废弃的接口的警告 |
ResourceWarning |
Warning |
资源使用相关警告的基类 |
RuntimeWarning |
Warning |
运行时警告的基类 |
SyntaxWarning |
Warning |
语法相关的警告的基类 |
UnicodeWarning |
Warning |
与 Unicode 相关的警告的基类 |
UserWarning |
Warning |
用户代码所产生警告的基类 |
本文 更新于: 2025-11-27 09:37:58 创建于: 2025-11-27 09:37:58