Python常见的异常总结

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

相关文章
|
8天前
|
存储 索引 Python
|
9天前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
5月前
|
Python
Python基础教程(第3版)中文版 第8章 异常(笔记)
Python基础教程(第3版)中文版 第8章 异常(笔记)
|
4月前
|
Unix API Python
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
84 0
|
20天前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
17 1
|
2月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
4月前
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
如何让Python爬虫在遇到异常时继续运行
|
4月前
|
机器学习/深度学习 运维 监控
使用Python实现深度学习模型:智能安防监控与异常检测
【7月更文挑战第26天】 使用Python实现深度学习模型:智能安防监控与异常检测
60 6
|
3月前
|
API C++ Python
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
|
3月前
|
存储 Python
Python 中的用户定义异常
【8月更文挑战第23天】
26 0