[java] Errorについて
2008/03/05
java
例外
javaです。Errorについてです。
java.lang.Errorってあまり経験することがなかったので、メモします。
といいつつ、以前にもメモしてます。
参考にしている書籍は、プログラミング言語Java第4版です。
えーと、Javaでは、例外型はスローされるオブジェクトとして設計されるので、Throwableクラスを継承して作成されます。
例外には、チェックされる例外(checked exception)と、チェックされない例外(unchecked exception)があるそうです。
チェックされる例外は、メソッドがスローすると宣言した例外以外をスローしないことをコンパイルがチェックします。チェックされない例外は、コンパイルがチェックしません。
チェックされる例外は、java.lang.Exceptionを継承して作成されます。
チェックされない例外は、java.lang.RuntimeExceptionか、java.lang.Erroを継承して作成されます。
例外の階層
むっ、ErrorはThrowableを継承してます。すると何でも例外をcatchしたければ、Throwableでcatchできる(それがよいか悪いかは別にして...)
一般的にはプログラムロジックの誤りを反映して、実行時に適切に回復できない状態を、チェックされない例外は表します。プログラミング言語Java第4版 p.244
えーと、するとチェックされる例外は、どう対処するか明確に記述しないといけないわけですが、問題はチェックされない例外にたいする態度ですね。
まずい例外処理の書き方はException(Throwable)で何でもかんでも受けて例外のもみ消しですかね。
しかし、何がおこるかわからないことにも対応しないといけないし!!
参考
Java 入門 | 例外の種類
プログラミング言語Java 第4版 (The Java Series)
ケン・アーノルド ジェームズ ゴスリン デビッド ホームズ
: