Python & MySQL - 错误处理



有很多错误来源。一些例子包括执行的SQL语句中的语法错误、连接失败或对已经取消或完成的语句句柄调用fetch方法。

DB API定义了许多必须存在于每个数据库模块中的错误。下表列出了这些异常。

序号 异常及描述
1

警告

用于非致命性问题。必须是StandardError的子类。

2

错误

错误的基类。必须是StandardError的子类。

3

InterfaceError

用于数据库模块(而非数据库本身)中的错误。必须是Error的子类。

4

DatabaseError

用于数据库中的错误。必须是Error的子类。

5

DataError

DatabaseError的子类,指数据中的错误。

6

OperationalError

DatabaseError的子类,指诸如数据库连接丢失之类的错误。这些错误通常不在Python脚本编写者的控制范围内。

7

IntegrityError

DatabaseError的子类,用于会破坏关系完整性的情况,例如唯一性约束或外键。

8

InternalError

DatabaseError的子类,指数据库模块内部的错误,例如游标不再活动。

9

ProgrammingError

DatabaseError的子类,指诸如表名错误以及其他可以归咎于你的错误。

10

NotSupportedError

DatabaseError的子类,指尝试调用不受支持的功能。

你的Python脚本应该处理这些错误,但在使用上述任何异常之前,请确保你的MySQLdb支持该异常。你可以通过阅读DB API 2.0规范来获取更多关于它们的信息。

广告