Этап
Открыта
Тип
Рефакторнинг
Приоритет
Обычный
Трудоемкость
Обычная
Создана
Дата создания
4 года назад
Назначена
Обновлена
4 года назад

Сейчас у нас минималистичная иерархия исключений, так как не очень понятно как все многообразие ошибок правильно делить на исключения. Кроме того собственные уникальные логические ошибки, назначают сообщение пользователю на русском прямо по месту. По хорошему они все должны быть переведены. Но для этого стоит разобраться с системой построения иерархии, а так же как это все положить в файл переводов так, чтобы было сразу понятно что где и легко и понятно добавлять туда перевод для каждого нового исключения и места его генерации с уникальной логчической ошибкой.

Порождена tndt-3 как её логическое продолжение и развитие

Панель управления

Комментарии могут оставлять только авторизованные пользователи
 demius 4 года назад

Надо сделать абстрактной класс исключений, умеющих сложно переводиться, которые пакуют инфу, необходимую для перевода в message, чтобы протащить сквозь FlattenException (он же статикой будет их распаковывать в код message и связанную с ним инфу). К сожалению за FlattenException, не выйдет сделать instanceof придется в ErrorCodesEnum::hasCustomMessage() сравнивать FlattenException::getClass() по набору классов (или инстанцировать фейковый инстанс исключения ради проверки его на instanceof)