タグ付けされた質問 「raise」

14
Pythonアサートのベストプラクティス
assertデバッグ目的でのみ使用するのではなく、標準コードの一部として使用すると、パフォーマンスまたはコードのメンテナンスの問題がありますか? です assert x >= 0, 'x is less than zero' より良いか悪いか if x < 0: raise Exception, 'x is less than zero' また、if x < 0 raise errorそのように常にチェックされるようなビジネスルールを設定する方法はありますか。try/except/finallyコード全体でいつでもx0未満の場合assert x < 0、関数の開始時、関数内のどこかに設定した場合のように、エラーが発生します。どこxが0未満になると、例外が発生しますか?

4
ネストされたtry / exceptブロックで例外を再発生させる方法は?
例外を再発生させたい場合raiseは、それぞれのexceptブロックで引数なしで簡単に使用できます。しかし、ネストされた式のように try: something() except SomeError as e: try: plan_B() except AlsoFailsError: raise e # I'd like to raise the SomeError as if plan_B() # didn't raise the AlsoFailsError SomeErrorスタックトレースを壊さずにを再度レイズするにはどうすればよいですか?raiseこの場合、単独で、より最近のものをリレイズしAlsoFailsErrorます。または、この問題を回避するためにコードをリファクタリングするにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.