版本:1.1.0b2 |发布日期:2016年7月1日

SQLAlchemy 1.1文档

核心异常

异常与SQLAlchemy一起使用。

基本异常类是SQLAlchemyError由于DBAPI异常而引发的异常是DBAPIError的所有子类。

异常 sqlalchemy.exc。 AmbiguousForeignKeysError

在连接期间,当两个选择项之间可以有多个外键匹配时引发。

异常 sqlalchemy.exc。 ArgumentError

当提供无效或冲突的函数参数时引发。

这个错误通常对应于施工时间状态错误。

exception sqlalchemy.exc.CircularDependencyError(message, cycles, edges, msg=None)

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

有两种情况发生此错误:

异常 sqlalchemy.exc。 CompileError

在SQL编译期间发生错误时引发

exception sqlalchemy.exc.DBAPIError(statement, params, orig, connection_invalidated=False)

在执行数据库操作失败时引发。

包装数据库操作底层的DB-API引发的异常。标准DB-API异常类型的驱动程序特定实现在可能的情况下由匹配的子类型SQLAlchemy的DBAPIError包装。在SQLAlchemy中,DB-API的Error类型映射到DBAPIError,否则名称是相同的。请注意,对于任何给定的错误条件,不能保证不同的DB-API实现将引发相同的异常类型。

DBAPIError features statement and params attributes which supply context regarding the specifics of the statement which had an issue, for the typical case when the error was raised within the context of emitting a SQL statement.

包装的异常对象在orig属性中可用。它的类型和属性是DB-API实现特定的。

exception sqlalchemy.exc.DataError(statement, params, orig, connection_invalidated=False)

包装一个DB-API DataError。

exception sqlalchemy.exc.DatabaseError(statement, params, orig, connection_invalidated=False)

包装一个DB-API DatabaseError。

异常 sqlalchemy.exc。 DisconnectionError

在原始DB-API连接上检测到断开连接。

此错误在连接池内部引发并消耗。It can be raised by the PoolEvents.checkout() event so that the host pool forces a retry; the exception will be caught three times in a row before the pool gives up and raises InvalidRequestError regarding the connection attempt.

class sqlalchemy.exc。 DontWrapMixin

如果在执行语句的过程中发生错误,则应用于用户定义的Exception类的mixin类将不会被包装在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。 标识符错误

当架构名称超出最大字符数限制时引发

exception sqlalchemy.exc.IntegrityError(statement, params, orig, connection_invalidated=False)

包装一个DB-API IntegrityError。

exception sqlalchemy.exc.InterfaceError(statement, params, orig, connection_invalidated=False)

包装一个DB-API InterfaceError。

exception sqlalchemy.exc.InternalError(statement, params, orig, connection_invalidated=False)

包装一个DB-API InternalError。

异常 sqlalchemy.exc。 InvalidRequestError

SQLAlchemy被要求做一些不能做的事情。

此错误通常对应于运行时状态错误。

异常 sqlalchemy.exc。 NoForeignKeysError

在连接期间没有外键可以位于两个选择之间时引发。

异常 sqlalchemy.exc。 NoInspectionAvailable

传递给sqlalchemy.inspection.inspect()的主题没有产生任何检查的上下文。

异常 sqlalchemy.exc。 NoReferenceError

ForeignKey引发,表示引用无法解析。

exception sqlalchemy.exc.NoReferencedColumnError(message, tname, cname)

当引用的Column不能被定位时,由ForeignKey引发。

exception sqlalchemy.exc.NoReferencedTableError(message, tname)

当引用的Table无法定位时,由ForeignKey引发。

异常 sqlalchemy.exc。 NoSuchColumnError

RowProxy请求一个不存在的列。

异常 sqlalchemy.exc。 NoSuchModuleError

当找不到特定名称的动态加载模块(通常是数据库方言)时引发。

异常 sqlalchemy.exc。 NoSuchTableError

表格不存在或对连接不可见。

exception sqlalchemy.exc.NotSupportedError(statement, params, orig, connection_invalidated=False)

包装一个DB-API NotSupportedError。

exception sqlalchemy.exc.OperationalError(statement, params, orig, connection_invalidated=False)

包装一个DB-API OperationalError。

exception sqlalchemy.exc.ProgrammingError(statement, params, orig, connection_invalidated=False)

包装一个DB-API ProgrammingError。

异常 sqlalchemy.exc。 ResourceClosedError

从连接,光标或处于关闭状态的其他对象请求执行操作。

异常 sqlalchemy.exc。 SADeprecationWarning

每次使用已弃用的API发布一次。

异常 sqlalchemy.exc。 SAPendingDeprecationWarning

每次使用已弃用的API发布一次。

异常 sqlalchemy.exc。 SAWarning

在运行时发行。

异常 sqlalchemy.exc。 SQLAlchemyError

通用错误类。

exception sqlalchemy.exc.StatementError(message, statement, params, orig)

执行SQL语句期间发生错误。

StatementError wraps the exception raised during execution, and features statement and params attributes which supply context regarding the specifics of the statement which had an issue.

包装的异常对象在orig属性中可用。

orig =无

DBAPI异常对象。

params =无

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

语句 =无

发生此异常时将调用字符串SQL语句。

异常 sqlalchemy.exc。 TimeoutError

在连接池超时获取连接时引发。

异常 sqlalchemy.exc。 UnboundExecutionError

SQL试图在没有数据库连接的情况下执行它。

exception sqlalchemy.exc.UnsupportedCompilationError(compiler, element_type)

当一个操作不被给定的编译器支持时引发。

0.8.3版本中的新功能