Введение в исключения в Nest
Метод страницы иногда не может отдать обычную строку или объект. Клиенту нужен отказ с понятным числовым кодом и текстом, а не случайный сбой внутри обработчика.
Исключение HTTP - готовый способ прервать метод и сразу собрать ответ с нужным статусом. Фреймворк ловит такой объект, берёт из него код и тело, отдаёт их клиенту и не выполняет код дальше по цепочке.
В разделе используют классы из
@nestjs/common: общий
HttpException и частые варианты
вроде «не найдено» или «неверный
запрос». Свой класс может наследовать
общий тип и задавать статус один раз.
Когда ошибку нужно оформить одинаково на многих маршрутах, подключают фильтр исключений. Он перехватывает вылетевший объект, пишет ответ через объект Express и может висеть на методе или на всём приложении. Это не защитник маршрута и не фильтр паспорта.
На примере списка записей дальше покажем выброс отказа из контроллера и сервиса, а также фильтры, которые собирают ответ за метод страницы.