私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

よく再利用される例外

Effective Javaに書いてある、よく利用される例外。以下、引用。

例外 使用する機会
IllegalArgumentException パラメータ値が不適切
IllegalStateException メソッド呼び出しに対してオブジェクト状態が不正
NullPointerException パラメータ値が禁止されているnull
IndexOutOfBoundsException インデックスパラメータ値が範囲外
ConcurrentModificationException 禁止されているオブジェクトの並行した変更を検出
UnsupportedOperationException オブジェクトがメソッドをサポートしていない

IllegalArgumentExceptionと、NullpointerExceptionぐらいしか再利用したことないなあ。IllegalStateExceptionを使う場面はあっても、そもそもそんな設計を回避する。(けど、利用者に使用法を悩ませないようにしすぎて、結果的にはシンプルとはいえないクラスになってしまう…。潔くIllegalStateExceptionを使えってことかな)