核心异常¶
与 SQLAlchemy 一起使用的异常。
基本异常类是 SQLAlchemyError
。 例外,它们是
由于 DBAPI 异常而引发的都是
DBAPIError 的 DBAPIError
中。
-
异常 sqlalchemy.exc。AmbiguousForeignKeysError¶
在联接期间,当两个可选对象之间可以找到多个外键匹配时引发。
-
异常 sqlalchemy.exc。ArgumentError 错误¶
当提供无效或冲突的函数参数时引发。
此错误通常对应于构造时状态错误。
-
异常 sqlalchemy.exc。AwaitRequired¶
如果异步 greenlet spawn 在需要异步作时没有等待异步作,则会引发错误。
-
异常 sqlalchemy.exc。Base20DeprecationWarning¶
针对 SQLAlchemy 2.0 中特别弃用或遗留的 API 的使用而发布。-
属性sqlalchemy.exc.Base20DeprecationWarning.
deprecated_since:strNone = '1.4'¶
指示开始引发此弃用警告的版本
-
-
异常 sqlalchemy.exc。CircularDependencyError¶
检测到循环依赖关系时由拓扑排序引发。
在两种情况下会出现此错误:
在 Session 刷新作中,如果两个对象相互依赖,则不能单独通过 INSERT 或 DELETE 语句插入或删除它们;需要 UPDATE 来后关联或预先取消关联外键约束值之一。指向自身的行/相互依赖的行中描述的post_update
标志可以解析此循环。
在MetaData.sorted_tables
作中,两个外键
或ForeignKeyConstraint
对象相互引用。将use_alter=True
标志应用于一个或两个,请参阅通过 ALTER 创建/删除外键约束。
-
方法sqlalchemy.exc.CircularDependencyError.
__init__(message: str, cycles: Any, edges: Any, msg:strNone=None, code:strNone=None)¶
-
异常 sqlalchemy.exc。编译错误¶
在 SQL 编译过程中发生错误时引发
-
异常 sqlalchemy.exc。ConstraintColumnNotFoundError¶
当约束引用 String 列名时引发,该 String 列名不存在于被约束的表中。
2.0 版的新Function。
-
异常 sqlalchemy.exc。DBAPIError¶
当数据库作执行失败时引发。
包装由 DB-API 引发的 database作。 标准的特定于驱动程序的实现 DB-API 异常类型由 SQLAlchemy 的DBAPIErr或
可能。DB-API 的Error
类型映射到DBAPIErr或
SQLAlchemy,否则名称相同。请注意,不能保证不同的 DB-API 实现会针对任何给定的错误条件引发相同的异常类型。DBAPIError
具有StatementError.statement
功能 和StatementError.params
属性,这些属性提供有关有问题的语句细节的上下文,对于在发出 SQL 语句的上下文中引发错误的典型情况。
包装的异常对象位于StatementError.orig
属性。它的类型和属性特定于 DB-API 实现。-
方法sqlalchemy.exc.DBAPIError 中。
__init__(statement:strNone, params:_AnyExecuteParamsNone, orig: BaseException, hide_parameters: bool = False, connection_invalidated: bool = False, code:strNone=None, ismulti:boolNone=None)¶
-
-
异常 sqlalchemy.exc。DataError¶
包装 DB-API DataError。
-
异常 sqlalchemy.exc。DatabaseError¶
包装 DB-API DatabaseError。
-
异常 sqlalchemy.exc。DisconnectionError 错误¶
在原始 DB-API 连接上检测到断开连接。
此错误由连接池在内部引发和使用。它可以由PoolEvents.checkout()
引发 事件,以便主机池 强制重试;该异常将在之前连续捕获 3 次 池放弃并引发InvalidRequestError
关于连接尝试。
对象名称 |
描述 |
---|---|
|
|
|
-
类 sqlalchemy.exc 中。不要包装混音¶
一个 mixin 类,当应用于用户定义的 Exception 类时,如果在执行语句的过程中发出错误,则不会包装在StatementError
中。
例如:from sqlalchemy.exc import DontWrapMixin class MyCustomException(Exception, DontWrapMixin): pass class MySpecialType(TypeDecorator): impl = String def process_bind_param(self, value, dialect): if value == "invalid": raise MyCustomException("invalid!")
-
异常 sqlalchemy.exc。DuplicateColumnError 错误¶
正在将一个 Column 添加到一个 Table 中,该 Table 将替换另一个 Column,但没有适当的参数来允许这样做。
2.0.0b4 版本的新Function。
-
类 sqlalchemy.exc 中。HasDescriptionCode¶
helper 函数,将 'code' 添加为 attribute,将 '_code_str' 添加为方法
-
异常 sqlalchemy.exc。IdentifierError 错误¶
当架构名称超出最大字符限制时引发
-
异常 sqlalchemy.exc。IllegalStateChangeError¶
跟踪状态的对象遇到了某种非法的状态更改。
2.0 版的新Function。
-
异常 sqlalchemy.exc。IntegrityError(完整性错误)¶
包装 DB-API IntegrityError。
-
异常 sqlalchemy.exc。InterfaceError 错误¶
包装 db-API InterfaceError。
-
异常 sqlalchemy.exc。内部错误¶
包装 DB-API InternalError。
-
异常 sqlalchemy.exc。InvalidRequestError¶
SQLAlchemy 被要求做一些它做不到的事情。
此错误通常对应于运行时状态错误。
-
异常 sqlalchemy.exc。InvalidatePoolError¶
当连接池应使所有过时的连接失效时引发。DisconnectionError
的子类,指示在连接上遇到的断开连接情况可能意味着整个池应该失效,因为数据库已重新启动。
此异常的处理方式与DisconnectionError
的 Id 错误,允许在放弃之前尝试重新连接 3 次。
在 1.2 版本加入.
-
异常 sqlalchemy.exc。LegacyAPIWarning¶
表示 API 处于“旧版”状态,即长期弃用。
-
异常 sqlalchemy.exc。缺失的 Greenlet¶
如果在 greenlet 生成上下文中调用异步 greenlet await_ 会引发错误。
-
异常 sqlalchemy.exc。MovedIn20警告¶
RemovedIn20Warning 的子类型,以指示仅移动的 API。
-
异常 sqlalchemy.exc。找到多个结果¶
需要一个数据库结果,但找到多个结果。
在 1.4 版本发生变更: 此异常现在是sqlalchemy.exc
模块,从 ORM 中移出。该元件仍可从sqlalchemy.orm.exc
导入。
-
异常 sqlalchemy.exc。NoForeignKeysError¶
当在联接期间无法在两个可选对象之间找到外键时引发。
-
异常 sqlalchemy.exc。NoInspectionAvailable(无检查可用)¶
传递给的对象sqlalchemy.inspection.inspect()
没有产生可供检查的上下文。
-
异常 sqlalchemy.exc。NoReferenceError¶
由ForeignKey
引发,表示无法解析引用。
-
异常 sqlalchemy.exc。NoReferencedColumnError¶
当找不到引用的Column
时由ForeignKey
引发。-
方法sqlalchemy.exc.NoReferencedColumnError.
__init__(message: str, tname: str, cname: str)¶
-
-
异常 sqlalchemy.exc。NoReferencedTableError¶
当找不到引用的Table
时由ForeignKey
引发。-
方法sqlalchemy.exc.NoReferencedTableError.
__init__(message: str, tname: str)¶
-
-
异常 sqlalchemy.exc。未找到结果¶
需要数据库结果,但未找到任何结果。
在 1.4 版本发生变更: 此异常现在是sqlalchemy.exc
模块,从 ORM 中移出。该元件仍可从sqlalchemy.orm.exc
导入。
-
异常 sqlalchemy.exc。NoSuchColumnError¶
从Row
请求不存在的列。
类签名
类sqlalchemy.exc.NoSuchColumnError
(sqlalchemy.exc.InvalidRequestError
,内置。KeyError
的
-
异常 sqlalchemy.exc。NoSuchModuleError¶
当找不到特定名称的动态加载模块(通常是数据库方言)时引发。
-
异常 sqlalchemy.exc。NoSuchTableError¶
Table 不存在或对连接不可见。
-
异常 sqlalchemy.exc。NotSupportedError(不支持错误)¶
包装 DB-API NotSupportedError。
-
异常 sqlalchemy.exc。ObjectNotExecutableError 错误¶
当对象传递给不能作为 SQL 执行的 .execute() 时引发。-
方法sqlalchemy.exc.ObjectNotExecutableError.
__init__(target: Any)¶
-
-
异常 sqlalchemy.exc。OperationalError¶
包装 DB-API OperationalError。
-
异常 sqlalchemy.exc。PendingRollbackError¶
事务失败,需要回滚后才能继续。
在 1.4 版本加入.
-
异常 sqlalchemy.exc。编程错误¶
包装 DB-API ProgrammingError。
-
异常 sqlalchemy.exc。ResourceClosedError 错误¶
从处于关闭状态的连接、游标或其他对象请求作。
-
异常 sqlalchemy.exc。SADeprecationWarning¶
针对已弃用的 API 颁发。
类签名
类sqlalchemy.exc.SADeprecationWarning
(sqlalchemy.exc.HasDescriptionCode
,内置。DeprecationWarning
)-
属性sqlalchemy.exc.SADeprecationWarning.
deprecated_since:strNone = None¶
指示开始引发此弃用警告的版本
-
-
异常 sqlalchemy.exc。SAPendingDeprecationWarning¶
与SADeprecationWarning
类似的警告,此警告未用于 SQLAlchemy 的现代版本。
类签名
类sqlalchemy.exc.SAPendingDeprecationWarning
(builtins.PendingDeprecationWarning
)-
属性sqlalchemy.exc.SAPendingDeprecationWarning.
deprecated_since:strNone = None¶
指示开始引发此弃用警告的版本
-
-
异常 sqlalchemy.exc。SATestSuite警告¶
测试期间检测到的非致命条件的警告
目前在 SAWarning 之外,以便我们可以解决像 Alembic 这样的工具,这些工具对警告执行错误作。
类签名
类sqlalchemy.exc.SATestSuiteWarning
(builtins.警告
)
-
异常 sqlalchemy.exc。SAWarning¶
在运行时发出。
类签名
类sqlalchemy.exc.SAWarning
(sqlalchemy.exc.HasDescriptionCode
,builtins.RuntimeWarning
)
-
异常 sqlalchemy.exc。SQLAlchemyError¶
泛型 error 类。
类签名
类sqlalchemy.exc.SQLAlchemyError
(sqlalchemy.exc.HasDescriptionCode
,内置。例外
)
-
异常 sqlalchemy.exc。StatementError¶
执行 SQL 语句时出错。StatementError
包装执行过程中引发的异常,并 features语句
和params
属性,这些属性提供有关有问题的语句的具体内容的上下文。
包装的异常对象在orig
属性中可用。-
方法sqlalchemy.exc.StatementError.
__init__(message: str, statement:strNone, params:_AnyExecuteParamsNone, orig:BaseExceptionNone, hide_parameters: bool = False, code:strNone=None, ismulti:boolNone=无)¶
-
属性sqlalchemy.exc.StatementError.
ismulti:boolNone = None¶
multi 参数传递给 repr_params()。没有一个是有意义的。
-
属性sqlalchemy.exc.StatementError.
orig:BaseExceptionNone = None¶
引发的原始异常。
-
attributesqlalchemy.exc.StatementError.
params:_AnyExecuteParamsNone = 无¶
发生此异常时使用的参数列表。
-
attributesqlalchemy.exc.StatementError.
语句:strNone = None¶
发生此异常时调用的字符串 SQL 语句。
-
-
异常 sqlalchemy.exc。TimeoutError 错误¶
当连接池在获取连接时超时时引发。
-
异常 sqlalchemy.exc。UnboundExecutionError¶
尝试了 SQL,但没有数据库连接来执行它。
-
异常 sqlalchemy.exc。UnreflectableTableError¶
Table 存在,但由于某种原因无法反映。
在 1.2 版本加入.
-
异常 sqlalchemy.exc。UnsupportedCompilationError (不支持编译错误)¶
当给定编译器不支持某个作时引发。-
方法sqlalchemy.exc.UnsupportedCompilationError.
__init__(compiler:CompiledTypeCompiler, element_type: Type[ClauseElement], message:strNone=None)¶
-