Эта библиотека хороша, безусловно. Отличие в том, что она минималистична, тогда как errorx богаче в плане фичей и «из коробки» позволяет решать больше задач. И тот, и другой подход обладают своей привлекательностью.
Нотификации — строго говоря, ортогональный вопрос. Они могут работать по сообщениям в логе, через адаптеры, которые на определенные типы ошибок по конфигу генерируют сообщения, и множеством других способов. Сами ошибки — слишком низкоуровневый механизм, чтобы в нем хорошо смотрелась жесткая связь подобного рода.
Что же до локализации, то это часть вопроса представления ошибок, скажем, в API, который сам по себе сложный и довольно неприятный. С одной стороны, бизнес логика, откуда ошибки вылетают, не должна знать о таких вещах, как внешний API, в котором эти ошибки должны как-то трансформироваться и предоставляться наружу. С другой, работа с ошибками во внешнем API не должна быть хрупкой к изменениям на слое бизнес логики.
Есть примеры решений, когда, скажем, ошибка несет с собой HTTP status, который будет подложен в ответ. Мы считаем такое суровым нарушением абстракции и не допускаем, но, к сожеланию, эту проблему все равно приходится решать на каком-то уровне.
Что же до локализации, то это часть вопроса представления ошибок, скажем, в API, который сам по себе сложный и довольно неприятный. С одной стороны, бизнес логика, откуда ошибки вылетают, не должна знать о таких вещах, как внешний API, в котором эти ошибки должны как-то трансформироваться и предоставляться наружу. С другой, работа с ошибками во внешнем API не должна быть хрупкой к изменениям на слое бизнес логики.
Есть примеры решений, когда, скажем, ошибка несет с собой HTTP status, который будет подложен в ответ. Мы считаем такое суровым нарушением абстракции и не допускаем, но, к сожеланию, эту проблему все равно приходится решать на каком-то уровне.