Python MySQL - 处理错误

  • 简述

    错误的来源有很多。一些示例是执行的 SQL 语句中的语法错误、连接失败或为已取消或完成的语句句柄调用 fetch 方法。
    DB API 定义了每个数据库模块中必须存在的许多错误。下表列出了这些例外情况。
    序号 例外与说明
    1
    Warning
    用于非致命问题。必须继承 StandardError。
    2
    Error
    错误的基类。必须继承 StandardError。
    3
    InterfaceError
    用于数据库模块中的错误,而不是数据库本身。必须子类化错误。
    4
    DatabaseError
    用于数据库中的错误。必须子类化错误。
    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 规范来获得有关它们的更多信息。