0
アサーションが失敗したときにスクリプトが存在するように、アサーションを使用したいと思います。そのためにアサーションがPythonで失敗したときに終了するには?
私は、スクリプト
def assertExit(mlambda, errorMessage):
res = mlambda()
if res != True:
sys.exit(errorMessage)
assertExit((lambda: False), "Should fail")
はニシキヘビネイティブアサーションでそれを行う方法ですが停止した、独自の関数を書きましたか? 、未処理のAssertionError
を指摘されたように
assert False # should exit the script
ネイティブアサーションは、失敗した場合に例外を発生させ、キャッチしない限りアプリケーションを終了します。 – SwiftsNamesake
単純に*キャッチしない* 'AssertionError'はトリックを行うべきです...どうしてより直接的な' exit'が必要なのですか? – deceze
あなたは正しいです、失敗したアサーションはすでにスクリプトを停止します。ログの順序が間違っていたため、混乱していました。ログでは、アサーションの例外後に、出力が記録されました – Skip