エンティティ ID によるモデルがデータストアに存在するかどうかを判断しようとしています。/page?page_id=12345
パラメータなどを操作するユーザーから保護しています 。
try: page = Page.get_by_id(int(self.request.get('page_id'))) except: self.response.out.write('Invalid page id') return
これは Try / Except の適切な/許容可能な使用法ですか?
エンティティ ID によるモデルがデータストアに存在するかどうかを判断しようとしています。/page?page_id=12345
パラメータなどを操作するユーザーから保護しています 。
try: page = Page.get_by_id(int(self.request.get('page_id'))) except: self.response.out.write('Invalid page id') return
これは Try / Except の適切な/許容可能な使用法ですか?
ベアを使用する正当な理由は決してexcept
ありません。実際に対処する準備ができている例外のみを常にキャッチしてください。
ただし、この場合、役に立たないよりも悪いです。get_by_id
例外を発生させないため、例外をキャッチしても意味がありません。(値が整数に変換されない場合はもちろんint
a を上げることができますが、それを個別に処理するのが最善です。) その ID を持つエンティティが存在しない場合は、単純に None を返します。それを確認し、適切に行動する必要があります。ValueError
get_by_id