例外処理と Exceptionクラス


JDK にはエラーを処理するための専用のクラス Error と Exception があます。 これらはいずれも Throwable クラスのサブクラスです。 Errorクラスはバーチャルマシン内部などで利用されるもので、 通常のアプリケーションが利用するのは Exception とそのサブクラスです。 きめ細かなエラー処理を実現する目的で、 エラーの種類や独自の情報を伝えるための専用のサブクラスをプログラムの 内部で定義することもあります。
 例外を発生させる箇所では、Exceptionクラスのオブジェクトを throw文に よって呼び出し先に渡します。また、例外を発生させる可能性のあるメソッド は、その定義の始めの部分で throws 文で発生させる例外の種類を宣言しておく 必要があります。


protected int getIntParameter( String word ) throws Exception {
 
    String valueString = getParameter( word );
    if( valueString == null )
        throw new Exception();  // 例外が発生

Java言語には例外処理のための構文が用意されています。 例外が生じる可能性がある処理に対しては try{} ブロックの中に記述し、 例外が生じた場合の処理を、それに続く catch(){} ブロックの中に記述します。 catch() の引数には、発生した例外のオブジェクトが渡されます。 catch(){} ブロックは、例外の種類に応じて複数用意することが可能です。


try {
      int i = Integer.parseInt( string );
}
catch( NumberFormatException e ){
      // 何らかのエラー処理
}