私は SQLAlchemy を学び、進歩しようとしています。今日は、発生する例外について学びたいと思いました。
私は Pyramid ベースのプロジェクト、MySQL サーバー (InnoDB)、および SQLAlchemy に取り組んでいます。
NoResultFound
エラーが発生したり、コンソールに出力されたりしないため、すべてのエラーを除外しようとしています。だから私は例外exc.SQLAlchemyError
です。
テーブルにクエリを実行して結果が見つからない場合、テーブルは何も発生させたり、キャッチしたり、除外したりせず、動作を続けます。
質問:
.all()
または.one()
に対してクエリを実行し、行が返されないという問題に対処するにはどうすればよいですか?- 他の SQL またはシステム関連のエラーにはどのように対処すればよいですか? それらを記録し、観察して問題を修正したいと思います。
私のコードは次のとおりです。
try:
query = Session.query(MyTable).filter(Terms.column == my_string).all()
except exc.SQLAlchemyError, e:
print e
return False
(exc.SQLAlchemyError の代わりに、最初に NoResultFound を試しました。)