2010-12-20 13 views

答えて

3

を確認するためにあなたが例外を処理しない場合、それはほとんどのプログラムが終了させるようになるしたいと思います。

例外をスローするだけで、プログラムが終了することはありません。何が起こるかを決めるのは投げられた後に起こることです。

3

いいえ、終了させる必要はありません。例外が発生した場合は、エラーが発生した理由とその理由をユーザーに示すメッセージを表示するなど、便利な操作を行うことができます。

2

例外をキャッチできないとプログラムが終了する可能性がありますが、例外をスローする行為は発生しません。少なくとも処理されていない例外をすべてキャッチして処理するためには、少なくともアプリケーションの外部に何かを投げたり、終了したりすることが必要です。アプリケーションはこれを期待している)。

2

"未処理の例外"のみがプログラムをクラッシュさせます。例外を処理するには、次のフォームを使用します。

try { 
     // May Throw ApocalypseException 
     functionThatMightBlowUpTheWorld(); 
    } 
catch (ApocalypseException e){ 
     System.err.println("We accidentally almost blew up the world because: "); 
     System.err.println(e.message); 
} 
+1

Wait ... WikiLeaksからこのコードを取得しましたか?私はこれが決して解放されるべきではないと思う、** EVER **!笑 –

+3

私は面白い例を思いついて楽しむ。 :)しかし、遠心分離機のマイクロコントローラに問題がある場合は、私は責任を負いません。 – EnabrenTane

5

例外がスローされるスレッドと、アプリケーションで同時に実行される他のスレッドによって異なります。

キャッチされていない例外は、スローされたスレッドを終了させます。残りのスレッドがデーモン・スレッドのみである場合は、アプリケーションは終了します。

Thread.setDaemon(boolean)ドキュメントによると:実行中のスレッドだけがすべてデーモンスレッドのとき

Java仮想マシンが終了します。