////////////////////////////////////////////////////////////////////////////////
// << j261.java >>
//
//  クラス(6)例外(概説)
//
// ●例外
//
//  エラーを適切に処理するための仕組みを例外という。
//  tryブロックに入出力操作等のエラーを起こしやすい処理を記述し、
//  catchブロックに発生した例外に対応する処理を記述しておく。
//
// ●例外処理の書き方
//
//        try {                                
//          例外を発生する可能性のあるコード   
//        } catch(引数) {                    
//          例外の処理                         
//        } 
//
//  ・エラーが発生し例外が起きたことを、「例外が送出された」ともいう。
//   ほっておくとエラーメッセージを表示して異常終了する。
//    ・例外の処理を行うことを「例外を受けとる」という。
//   例外の処理を行うと、正常終了することができる。
//  ・catchブロックの引数(ここに例外クラスが記述される)はThrowableクラスか
//   そのサブクラスでなければならない。
//    ・catchブロックは複数書くことができる。
//   ・例外クラスには、ArithmeticException,ClassNotFoundException,IOException
//     などがある。
//
// ●例外処理の手順
//
//        try {                                
//          例外を発生する可能性のあるコード   
//        } catch(引数1) {                    
//          例外の処理                         
//        } catch(引数2) {                    
//          例外の処理                         
//        } finally {                          
//          最後に必ず行う処理                     
//        }                                    
//
//  ・例外が発生すると、例外クラスのオブジェクトが作られる。
//   catchブロックの引数に書かれた例外クラス(またはそのサブクラス)と
//   順に比較され、一致した場合、そのcatchブロックが実行される。
//     したがって、catchブロックでThrowableクラスを指定すればすべての例外を
//   受け取ることができる。例外を捕らえられなかった場合、異常終了する。
//  ・finallyブロックを使うと例外の発生に関係なく最後に必ず実行される。
//
// ●例外クラスの階層
//
//  例外クラスは、すべてThrowableクラスのサブクラスである。
//  Throwableクラスのサブクラスに、ErrorクラスとExceptionクラスがある。
//  ・Errorクラスは実行を継続できないときに送出されるクラスである。
//  ・Exceptionクラスは、正しい回復処理が行われると実行を継続する可能性が
//   あるとき送出されるクラスである。
//
////////////////////////////////////////////////////////////////////////////////