6

私はStackoverflowとJavaに比較的慣れていませんが、Cの経験はほとんどありません。「exit()」関数の誤動作の後にCがプログラムを終了する非常にクリーンな方法が好きでした。

Javaで同様の関数System.exit()を見つけましたが、C関数とは何が異なり、void main関数のようにJavaで単純な「return」の代わりに「System.exit()」を使用するのが最適なのはいつですか?

4

3 に答える 3

6

System.exit()このプログラム用に初期化されたjvmを終了し、return;現在のメソッドから呼び出し元に制御を戻すだけです。


も参照してください

于 2012-05-01T13:57:55.977 に答える
3

System.exit()誰がどんな理由で呼び出しても、プログラムを終了します。returnメインでは終了しますmain()が、それを呼び出したものは何も殺しません。単純なプログラムの場合、違いはありません。メインを別の関数 (パフォーマンス測定やエラー処理を行っている可能性があります) から呼び出したい場合、それは非常に重要です。3 番目のオプションは、キャッチされていない実行時例外をスローすることです。これにより、コールスタックの奥深くからプログラムを終了し、メインを呼び出している外部コードがプログラムによる方法でインターセプトして終了を処理できるようになり、終了時に何がどこで問題が発生したかのユーザーコンテキストを提供できます ( 2) のような終了ステータスとは対照的です。

于 2012-05-01T14:08:57.057 に答える
2

System.exit()ユーザーの条件に応じてプログラムを終了する準備ができている場合 (つまり、GUI アプリケーション) に便利です。 returnプログラムの実行の最後のポイントに戻るために使用されます。この 2 つは非常に異なる操作です。

于 2012-05-01T14:04:42.300 に答える