1

マルチスレッドのJavaアプリケーションがあります。アプリケーション全体が失敗するようにしたいのですが、スレッドの1つで例外が発生します。

System.exit();スレッド内で実行してもアプリ全体が終了するとは思いません。

誰かが方法を提案できますか?

4

3 に答える 3

1

実際には、呼び出しはアプリ全体System.exit() 終了しますが、それは通常、ライブラリコードに必要なものではありません(たとえば、単体テストが困難になります)。

より良い実装は、あなたが制御する実装で、共有の「エラーハンドラ」参照を持つことです。単体テストでは、例外をログに記録するだけで済みます。実際のアプリでは、を呼び出すことができますSystem.exit()

于 2012-09-06T18:54:20.277 に答える
1

try-catchThreadのrunメソッドに入れて、catchブロックSystem.exit(0);に入れてください。

于 2012-09-06T18:55:41.900 に答える
0

これを行う簡単な方法の1つは、各スレッドでtry {} catch {}を使用することです。例外をキャッチすると、アプリケーションを終了する静的関数を呼び出すことができます。

于 2012-09-06T18:53:22.683 に答える