Phi*_*hil 2 python mysql sqlalchemy pyramid
我正在尝试用SQLAlchemy学习和进步.今天我想了解它引发的例外情况.
我正在开发基于金字塔的项目,MySQL服务器(InnoDB)和SQLAlchemy.
我试图除了所有错误,因为NoResultFound
错误不会在控制台中引发或打印.所以我除外exc.SQLAlchemyError
.
当我查询我的表并且没有找到结果时,它不会引发或捕获或除了任何其他任何内容并继续运行.
问题:
.all()
或.one()
处理没有返回任何行的问题?我的代码是:
try:
query = Session.query(MyTable).filter(Terms.column == my_string).all()
except exc.SQLAlchemyError, e:
print e
return False
Run Code Online (Sandbox Code Playgroud)
(而不是exc.SQLAlchemyError,我首先尝试过NoResultFound,e)
实际上,如果没有找到记录,此代码不会引发异常.所以你应该抛出自己的异常:
import logging
try:
records = Session.query(MyTable).\
filter(Terms.column == my_string).all()
if len(records) == 0:
raise MyException('No records found')
except MyException, e:
logging.info('No records found')
except exc.SQLAlchemyError, e:
logging.exception('Some problem occurred')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7103 次 |
最近记录: |