プログラマメモ2 - programmer no memo2

[java] Errorについて 2008/03/05

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)
ケン・アーノルド ジェームズ ゴスリン デビッド ホームズ
4894717166

: