私はStackoverflowとJavaに比較的慣れていませんが、Cの経験はほとんどありません。「exit()」関数の誤動作の後にCがプログラムを終了する非常にクリーンな方法が好きでした。
Javaで同様の関数System.exit()を見つけましたが、C関数とは何が異なり、void main関数のようにJavaで単純な「return」の代わりに「System.exit()」を使用するのが最適なのはいつですか?
System.exit()
このプログラム用に初期化されたjvmを終了し、return;
現在のメソッドから呼び出し元に制御を戻すだけです。
も参照してください
System.exit()
誰がどんな理由で呼び出しても、プログラムを終了します。return
メインでは終了しますmain()
が、それを呼び出したものは何も殺しません。単純なプログラムの場合、違いはありません。メインを別の関数 (パフォーマンス測定やエラー処理を行っている可能性があります) から呼び出したい場合、それは非常に重要です。3 番目のオプションは、キャッチされていない実行時例外をスローすることです。これにより、コールスタックの奥深くからプログラムを終了し、メインを呼び出している外部コードがプログラムによる方法でインターセプトして終了を処理できるようになり、終了時に何がどこで問題が発生したかのユーザーコンテキストを提供できます ( 2) のような終了ステータスとは対照的です。
System.exit()
ユーザーの条件に応じてプログラムを終了する準備ができている場合 (つまり、GUI アプリケーション) に便利です。 return
プログラムの実行の最後のポイントに戻るために使用されます。この 2 つは非常に異なる操作です。