0

メインから未チェックの例外をスローしても、常にプログラムがクラッシュすることはありません。GUI を実行しているので質問していますが、現在のところプログラムはクラッシュしません。それらは通常クラッシュしますか、それとも特定の状況でのみクラッシュしますか? GUIのチェック例外についても同じことが言えますか

スタック オーバーフローがクラッシュしたので、この質問が 2 回投稿されていることに気づきませんでした。これは同じ質問です。

4

3 に答える 3

5

Either checked of unchecked exception will crash the main thread. However, it doesn't mean that JVM will exit. JVM exits when no non-daemons thread are running. If you are running a GUI app, then the UI event loop is a non daemon thread and it will keep JVM running until it completes.

于 2012-04-14T06:13:13.413 に答える
1

メインから未チェックの例外をスローしても、常にプログラムがクラッシュすることはありません。

技術的な意味では、クラッシュは、JVM が重大な内部エラーに遭遇し、レジスタの内容やその他のあらゆる種類のあいまいなものを含むクラッシュ ダンプをファイルに出力したときに発生します。

キャッチされない例外が原因でメイン スレッドが終了する場合、それはクラッシュではありません。これは (JVM の観点からは) 正常なシャットダウンです。

Chandra の回答では、JVM のシャットダウンが通常どのように発生するかを説明していますが、呼び出しSystem.exit()が正常なシャットダウンを開始する別の方法であるとは言及していません。

于 2012-04-14T06:28:35.670 に答える
0

メイン メソッド内のすべてのコードを try-catch (Throwable t) でラップします。それはすべてをキャッチします。

于 2012-04-14T07:03:42.127 に答える