通常とは異なる何かが発生すると、プログラムによって例外がスローされます。一般的なチュートリアルはこちらから入手できますが、要約すると、プログラムは、例外を処理する何かを見つけることを期待して、例外をスローするクラス内を検索します。おそらく次のような catch ステートメントです。
catch (IllegalInterruptedException e) {
//what you want the program to do if an IllegalInterruptedException
//is thrown elsewhere and caught here. For example:
System.err.println( "program interrupted!" + e.getMessage() );
}
プログラムがステートメントをスローするクラスで catch ステートメントを見つけることができない場合、親クラスでそれを処理する何かを探します。例外がスローされたときに子クラスが行っていたことは、例外がスローされると停止することに注意してください。このため、例外をスローする可能性のあるコードのブロックを「try」ブロックで囲み、実行したいものを「finally」ステートメントで続けてください。これは何があっても実行されます。
上にリンクされているチュートリアルは本当に役に立ちます。