Выбор ответа Junior Ошибки и логирование обновлено
Обработчик ошибок в Express
Вопрос
Как Express понимает, что middleware это обработчик ошибок?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: По четырём параметрам: (err, req, res, next). Express смотрит на число объявленных параметров функции.
Варианты ответа
- По имени функции
errorHandler - Любой middleware, объявленный последним, считается обработчиком ошибок
- По регистрации через
app.error() - По четырём параметрам:
(err, req, res, next)правильный ответ
Разбор
Express смотрит на число объявленных параметров функции. Middleware с четырьмя аргументами вызывается только при ошибке: после next(err) или брошенного исключения (в Express 5 и отклонённого промиса). Регистрируют его после маршрутов.
- Имя функции не важно.
- Метода
app.errorв Express нет. - Позиция сама по себе не делает middleware обработчиком ошибок.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.