You should throw and `InvalidArgumentException` and never use `die`.