我正在尝试使用 SQLAlchemy 学习和进步。今天我想了解它引发的异常。
我正在开发一个基于 Pyramid 的项目,MySQL 服务器(InnoDB)和 SQLAlchemy。
我试图排除所有错误,因为NoResultFound
错误不会在控制台中引发或打印。所以我除了exc.SQLAlchemyError
。
当我查询我的表并且没有找到任何结果时,它不会引发或捕获或除任何东西之外并继续运行。
问题:
- 我该如何以及应该如何查询
.all()
or.one()
,并处理没有返回任何行的问题? - 我该如何以及应该如何处理其他与 SQL 或系统相关的错误?我想记录它们并观察它们以解决问题。
我的代码是:
try:
query = Session.query(MyTable).filter(Terms.column == my_string).all()
except exc.SQLAlchemyError, e:
print e
return False
(而不是exc.SQLAlchemyError,我首先尝试了NoResultFound,e)