При создании библиотек часто возникает вопрос, прокидывать исключение наружу или ловить его в библиотеке?
Ответ прост)
Если библиотека знает, как поступить с исключением, стоит обработать его в библиотеке.
Если библиотека не знает, как поступить с исключением, стоит отдать обработку на уровень выше (в другую библиотеку или приложение).