Java. Почему IllegalArgumentException не требует throws?
Читайте про то, что такое checked exceptions и unchecked exceptions.
Потому что IllegalArgumentException extends RuntimeException.
А, RuntimeException оно UNCHECKED. Оттого и не надо try/catch.
А вообще, надо почитать тебе про checked/unchecked.
Хотя бы тут.