Ответ 1
Там нет ничего неправильного в создании ArgumentError. Вы можете использовать его в любое время, когда аргументы, которые вы получаете, не являются тем, что вы ожидали от них, включая проверку диапазона чисел.
Кроме того, да, в общем, хорошо, что вы используете те же исключения, предоставленные данной библиотекой, если вы пишете расширение в эту библиотеку.
Что касается повышения Exception
s, я бы этого не сделал. Вы всегда должны поднять конкретное исключение, чтобы вы знали, как обращаться с ним в коде. Улавливание объектов Exception
должно выполняться на самом высоком уровне в вашем приложении, чтобы улавливать и регистрировать все исключения, которые вы пропустили.