3.2 例外処理

  1.例外とプログラムの設計
		  
public class ExceptionalClass{
    public void MethodA() throws ExceptionA{
        ... // この部分からException例外が投げられるかも
    }
}

読み手(およびコンパイラ)に対して、このメソッドが、ExceptionAという例外を「投げてくる」(スロー:throw)可能性があることを宣言している。
メソッドが実行時に行う「異常行動」の可能性については、全て仕様に含めるべきである。
異常行動(例外)が明示されていれば、そのような「異常な動作を期待」したような実装が可能となる。

Javaでは、例外の種類をクラスThrowableのサブクラスのインスタンスを使って表現する。 (クラスExceptionはここから参照
起こった例外の種類(返り値)は、各Exceptionクラスのインスタンスであるから、種類の異なる例外間の関係を、クラス階層によって記述可能となる。

例外が当該メソッド内で発生する可能性があることが分かっている場合、以下の2つの処理方法がある。
・メソッド内部でそれを検出(catch)して処理する
・メソッドにthrows節を書いて、当該メソッド呼び出し側にその可能性を知らせる(所謂「例外マル投げ」)


2003年10月4日 13:50 更新