Как и все остальные, создайте экземпляр объекта перед тем, как его бросить.
Просто хотел добавить один бит; Невероятно редко создавать исключение RuntimeException. Было бы нормально, чтобы код в API генерировал подкласс этого, но обычно код приложения генерировал бы исключение или что-то, что расширяет исключение, но не RuntimeException.
И в ретроспективе я пропустил добавление причины , почему вы используете Exception вместо RuntimeException; @Jay, в комментарии ниже, добавлен полезный бит. RuntimeException не является проверенным исключением;
- Подпись метода не должна объявлять, что может быть выдано RuntimeException.
- От абонентов этого метода не требуется перехватывать исключение или каким-либо образом подтверждать его.
- Разработчики, пытающиеся позже использовать ваш код, не предвидят эту проблему, если не будут внимательно смотреть, и это увеличит нагрузку на обслуживание кода.