I would use ``InvalidArgumentException`` instead of ``Exception``