私は、PHPのdie()
コマンドを知っていますが、これはスクリプトを早期に停止させるものです。
これをPythonで実現するにはどうしたらよいでしょうか?
import sys
sys.exit()
の詳細は、sys`モジュールのドキュメントを参照してください。
sys.exit([arg])
。
Pythonからの退出。これは以下のように実装されています。 これは、
SystemExit
例外を発生させることで実装されています。 try`文のfinally節で指定されたクリーンアップアクションは尊重されます。 終了の試みを外部レベルで傍受することができます。オプションの引数argには、終了ステータスを示す整数を指定できます。 オプションの引数 arg には、終了ステータスを示す整数(デフォルトはゼロ)、または他のタイプのオブジェクトを指定できます。整数の場合 ゼロは「正常終了」とみなされ、ゼロ以外は「異常終了」とみなされます。 シェルなどでは「異常終了」とみなされます。ほとんどのシステムでは ほとんどのシステムでは、0~127の範囲であることが要求され、そうでない場合は未定義の結果 それ以外の場合は未定義の結果となります。いくつかのシステムでは、特定の終了コードに特定の意味を割り当てる > 規約があります。 システムによっては、特定の終了コードに特定の意味を割り当てる規約がありますが、これは一般的に未発達です。 Unixプログラムでは一般的に、コマンドラインの構文エラーには2、その他の エラーには2を、それ以外のエラーには1を使用します。他のタイプのオブジェクト 他のタイプのオブジェクトが渡された場合、Noneは0を渡したのと同じであり、他のオブジェクトは
stderr
に出力され、結果として終了コードは1となります。 特にsys.exit("some error message")
は、エラーが発生したときにプログラムを終了させる > ための簡単な方法です。 エラーが発生したときにプログラムを終了するための簡単な方法です。
exit()
は最終的には例外を発生させるだけなので、 > > mainから呼び出された場合にのみプロセスを終了させることができます。 メインスレッドから呼ばれた場合のみプロセスを終了し、例外はインターセプトされません。 迎撃されません。
これが「良い」終了方法であることに注意してください。 以下の @glyphtwistedmatrix では、「ハードな終了」をしたい場合には os._exit(errorcode) を使うことができると指摘していますが、これはある程度 OS に特化していると思われますし (例えば Windows ではエラーコードを受け取らないかもしれません)、プロセスが死ぬ前にインタプリタに何の後始末もさせないので、間違いなくフレンドリーではありません。