IllegalArgumentExceptionは非キャッチ例外だから、これをキャッチする設計はそもそもおかしいと思う。
事前に引数のチェックするか、IllegalArgumentExceptionではない独自の例外を定義してthrowするのが王道かと。

勉強のための指摘です。直さなくてもいいです。