Python常见异常汇总
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 标准库还定义了其他许多异常,用于特定的应用场景,比如网络编程、多线程编程等。正确地理解和使用这些异常可以帮助开发者编写更健壮、易于维护和错误处理能力更强的程序。