Javaの理論と実践: 例外をめぐる議論 チェックすべきか、チェックせずにおくべきか

Javaの例外を、きちんとtry catchで捕らえさせるべきか、RuntimeExceptionのようにtry catch しなくてもいいようにすべきか、ということ。

すべての呼び出しでtry catchを囲わなければならないのはやりすぎだと思う。例外は「捉える側の」重要性に応じて扱い方を変えられるべきだろう。AOPでよく言われる例外ハンドラはそういう面では良いかもしれない。ポイントカットで指定させる使い方は良くないけど。実行コンテキスト指定を書きやすい記法でできなくては(AspectJ的なcflow指定は直感的にわかりにくいし面倒)。

静的型チェックをするべきかどうかでも同じような問題だとおもう。C言語と違ってオブジェクト指向言語ではサイズ指定のための型は必要ないわけだし。Javaはメソッド指定にレシーバの型が必要な仮想マシン仕様になってるけど、これは不要だったように思う。型チェックも個人的にはこれも利用側の用途の応じて有効にしたりゆるくしたりできたほうがよいと思うけど。