Koenig, вообще исключения в конструкторе это отдельная тема. В некоторых языках, таких как C или Java использовать исключения в конструкторе это табу, так как может привести к утечкам памяти (объект занимает память, но не освобождает ее из за исключения).
Что касается твоего случая, тут нужно всего лишь узнать, кто будет эти исключения перехватывать. Если твои исключения будут отлавливаться, то выбрасывай.
Я часто добавляю к документации метода, который выбрасывает исключение, комент вида:
@throws КлассИсключения Описание ситуации, когда это исключение выбрасывается.
на пример:
@throws IOException Выбрасывается, если невозможно получить доступ к файлу или он не существует.