ошибок? Ясно, что есть один глобальный в самом конце, который уже перехватывает все не обработанные и вешает на них 500 статус. Остальные же обрабатываются в router? Имею ввиду, вся бизнес логика в Service, но если в сервисе выбросить new Error(«error») как узнать какой статус присваивать ошибке? Через if проходиться в route - такая себе идея. Вот, интересно как это вы делаете.
великий топик, самому интересно. пока пришел к выводу чтобы делать свой класс ошибки для приложения в котром еще дополнительно передвать код ошибки, который потом в обработчике переводиться в нужный хттп код
По-моему же все просто, где может быть ошибка, там и обрабатываете, не те данные пришли или не того типа, или запрос в бд сломался или еще что, отлавливаете и редиректите из роута ошибку с правильным статусом там же прям на месте, не?)
Я обычно делаю отдельные исключения под каждый конкретный случай, затем уже, когда они возникают, отправляю в фабрику, которая приводит, на основании имени исключения, в ххтп ошибку, которую уже возвращаю клиенту.
Обсуждают сегодня