Выбор ответа Junior Ошибки и логирование обновлено

Обработчик ошибок в Express

Вопрос

Как Express понимает, что middleware это обработчик ошибок?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: По четырём параметрам: (err, req, res, next). Express смотрит на число объявленных параметров функции.

Варианты ответа

  1. По имени функции errorHandler
  2. Любой middleware, объявленный последним, считается обработчиком ошибок
  3. По регистрации через app.error()
  4. По четырём параметрам: (err, req, res, next)правильный ответ

Разбор

Express смотрит на число объявленных параметров функции. Middleware с четырьмя аргументами вызывается только при ошибке: после next(err) или брошенного исключения (в Express 5 и отклонённого промиса). Регистрируют его после маршрутов.

  • Имя функции не важно.
  • Метода app.error в Express нет.
  • Позиция сама по себе не делает middleware обработчиком ошибок.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.