10.12 错误和异常

mysql.connector.errors模块为 MySQL 连接器/Python 引发的错误和警告定义了异常类。当您导入时,此模块中定义的大多数类都可用 mysql.connector

此模块中定义的异常类主要遵循 Python 数据库 API 规范 v2.0 (PEP 249)。对于某些 MySQL 客户端或服务器错误,并不总是很清楚引发哪个异常。最好通过打开错误报告来讨论错误是否应该重新分类。

MySQL 服务器错误根据其 SQLSTATE 值映射到 Python 异常(请参阅 服务器错误消息参考)。下表显示了 SQLSTATE 类和连接器/Python 引发的异常。但是,可以重新定义为每个服务器错误引发的异常。默认例外是 DatabaseError.

表 10.1 服务器错误到 Python 异常的映射

SQLSTATE 类 连接器/Python 异常
02 DataError
02 DataError
07 DatabaseError
08 OperationalError
0A NotSupportedError
21 DataError
22 DataError
23 IntegrityError
24 ProgrammingError
25 ProgrammingError
26 ProgrammingError
27 ProgrammingError
28 ProgrammingError
2A ProgrammingError
2B DatabaseError
2C ProgrammingError
2D DatabaseError
2E DatabaseError
33 DatabaseError
34 ProgrammingError
35 ProgrammingError
37 ProgrammingError
3C ProgrammingError
3D ProgrammingError
3F ProgrammingError
40 InternalError
42 ProgrammingError
44 InternalError
HZ OperationalError
XA IntegrityError
0K OperationalError
HY DatabaseError