核心异常


与 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


检测到循环依赖关系时由拓扑排序引发。


在两种情况下会出现此错误:


方法 sqlalchemy.exc.CircularDependencyError. __init__message strcycles Anyedges 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 BaseExceptionhide_parameters: bool = Falseconnection_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 关于连接尝试。


对象名称

描述


不要包装混合


一个 mixin 类,当应用于用户定义的 Exception 类时,如果在执行语句的过程中发出错误,则不会包装在 StatementError 中。

HasDescriptionCode


helper 函数,将 'code' 添加为 attribute,将 '_code_str' 添加为方法


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 strtname strcname str

异常 sqlalchemy.exc。NoReferencedTableError


当找不到引用的 Table 时由 ForeignKey 引发。


方法 sqlalchemy.exc.NoReferencedTableError. __init__message strtname str

异常 sqlalchemy.exc。未找到结果


需要数据库结果,但未找到任何结果。


在 1.4 版本发生变更: 此异常现在是 sqlalchemy.exc 模块,从 ORM 中移出。该元件仍可从 sqlalchemy.orm.exc 导入。


异常 sqlalchemy.exc。NoSuchColumnError


Row 请求不存在的列。


异常 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。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


引发的原始异常。


attribute sqlalchemy.exc.StatementError. params:_AnyExecuteParamsNone =


发生此异常时使用的参数列表。


attribute sqlalchemy.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