NullPointerExceptionなどの標準例外を使っていないわけ
Domaでは、Daoのメソッドに期待されない引数(nullとか)が渡された場合に例外をスローしますが、そのときの例外にNullPointerExceptionやIllegalArgumentExceptionを使っていません。代わりに、DomaNullPointerExceptionやDomaIllegalArgumentExceptionといったDoma独自の例外を投げます。
これはなぜかというと、Daoのメソッドに対する事前条件を満たしていないのか、それともDoma自身にバグあって例外がスローされてしまっているのをわかりやすくするためです。
つまり、DomaNullPointerExceptionやDomaIllegalArgumentExceptionがスローされるということは、「これはDomaが意図的にスローしています。なんらかの条件を満たしていません。」というメッセージです。そして、NullPointerExceptionやIllegalArgumentExceptionがスローされるということは、「Domaが意図せずにスローしてしまっています。Domaのバグかも。」といったメッセージなのです。
Effective Javaにはできるだけ標準例外を使えとありますが、標準例外をスローするのはJDKのAPIだけでいいんじゃないかと最近思っています(catchされることを想定していない例外については)。
というわけで、DomaのAPIからNullPointerExceptionやIllegalArgumentExceptionが発生したら、それはおそらくDomaのバグです。あと、AssertionErrorが発生してもそれはDomaのバグです。このブログやメーリングリスト(https://ml.seasar.org/mailman/listinfo/seasar-user)でお知らせください。