Python 中的异常是一个非常广泛的主题,因为它包含许多内置的异常类型,这些类型可以处理各种运行时错误。下面是一些常见的 Python 异常类别和它们的用途:
1. 内置异常
Exception - 几乎所有其他错误类都是从它派生的基类。
AttributeError - 当试图访问的对象属性不存在时抛出。
IOError - 当输入/输出操作(如文件打开、读取)失败时抛出。
ImportError - 当import语句无法找到模块定义或无法读取模块时抛出。
IndexError - 当索引超出序列的范围时抛出。
KeyError - 当字典中查找一个不存在的关键字时抛出。
KeyboardInterrupt - 当用户中断程序执行,通常是通过按Ctrl+C。
NameError - 当局部或全局名称未找到时抛出。
OSError - 用于操作系统相关的操作失败,如“打开文件”或“执行命令”。
SyntaxError - 当 Python 解释器语法错误时抛出。
TypeError - 当操作或函数应用于不适当类型的对象时抛出。
ValueError - 当操作或函数接收到具有正确类型但不适当值的参数时抛出。
ZeroDivisionError - 当除法或模除操作的除数为零时抛出。
2. 警告
Warning - 这是警告的基类。
DeprecationWarning - 关于被弃用的特征的警告。
UserWarning - 开发者定义的警告。
SyntaxWarning - 可疑语法的警告。
3. 文件和I/O 异常
FileNotFoundError - 尝试打开不存在的文件时抛出(Python 3 中新增)。
FileExistsError - 尝试创建已存在的文件或目录时抛出(Python 3 中新增)。
PermissionError - 尝试在没有足够访问权限的情况下执行操作时抛出(Python 3 中新增)。
4. 其他特定异常
MemoryError - 当操作因为内存不足而无法完成时抛出。
RecursionError - 当递归超出最大深度限制时抛出(Python 3.5 中新增,替代了RuntimeError)。
StopIteration - 当迭代器没有更多的值时抛出。
TimeoutError - 当系统函数在预定时间内未完成时抛出。
这些是Python中一些常见的异常类型,Python 标准库还定义了其他许多异常,用于特定的应用场景,比如网络编程、多线程编程等。正确地理解和使用这些异常可以帮助开发者编写更健壮、易于维护和错误处理能力更强的程序。