Python 中的数据库处理错误
错误来源很多。一些例子包括执行的 SQL 语句中的语法错误、连接失败或对已取消或已完成的语句句柄调用 fetch 方法。
DB API 定义了一些必须存在于每个数据库模块中的错误。下表列出了这些异常。
序号 | 异常及描述 |
---|---|
1 | 警告 用于非致命性问题。必须是 StandardError 的子类。 |
2 | 错误 错误的基类。必须是 StandardError 的子类。 |
3 | 接口错误 用于数据库模块而不是数据库本身的错误。必须是 Error 的子类。 |
4 | 数据库错误 用于数据库错误。必须是 Error 的子类。 |
5 | 数据错误 DatabaseError 的子类,指的是数据中的错误。 |
6 | 操作错误 DatabaseError 的子类,指的是诸如数据库连接丢失之类的错误。这些错误通常不受 Python 脚本编写者的控制。 |
7 | 完整性错误 DatabaseError 的子类,用于会破坏关系完整性的情况,例如唯一性约束或外键。 |
8 | 内部错误 DatabaseError 的子类,指的是数据库模块内部的错误,例如游标不再处于活动状态。 |
9 | 编程错误 DatabaseError 的子类,指的是诸如表名错误以及其他可以归咎于你的错误。 |
10 | 不支持的错误 DatabaseError 的子类,指的是尝试调用不受支持的功能。 |
你的 Python 脚本应该处理这些错误,但在使用上述任何异常之前,请确保你的 MySQLdb 支持该异常。你可以通过阅读 DB API 2.0 规范获得更多关于它们的信息。
广告