メインから未チェックの例外をスローしても、常にプログラムがクラッシュすることはありません。GUI を実行しているので質問していますが、現在のところプログラムはクラッシュしません。それらは通常クラッシュしますか、それとも特定の状況でのみクラッシュしますか? GUIのチェック例外についても同じことが言えますか
スタック オーバーフローがクラッシュしたので、この質問が 2 回投稿されていることに気づきませんでした。これは同じ質問です。
メインから未チェックの例外をスローしても、常にプログラムがクラッシュすることはありません。GUI を実行しているので質問していますが、現在のところプログラムはクラッシュしません。それらは通常クラッシュしますか、それとも特定の状況でのみクラッシュしますか? GUIのチェック例外についても同じことが言えますか
スタック オーバーフローがクラッシュしたので、この質問が 2 回投稿されていることに気づきませんでした。これは同じ質問です。
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.
メインから未チェックの例外をスローしても、常にプログラムがクラッシュすることはありません。
技術的な意味では、クラッシュは、JVM が重大な内部エラーに遭遇し、レジスタの内容やその他のあらゆる種類のあいまいなものを含むクラッシュ ダンプをファイルに出力したときに発生します。
キャッチされない例外が原因でメイン スレッドが終了する場合、それはクラッシュではありません。これは (JVM の観点からは) 正常なシャットダウンです。
Chandra の回答では、JVM のシャットダウンが通常どのように発生するかを説明していますが、呼び出しSystem.exit()
が正常なシャットダウンを開始する別の方法であるとは言及していません。
メイン メソッド内のすべてのコードを try-catch (Throwable t) でラップします。それはすべてをキャッチします。