Похоже, что отчеты об ошибках / обработка в приложениях Node.js + Express.js выполняется иначе, чем в других фреймворках. Правильно ли я понимаю, что это работает следующим образом?
A) Обнаружение ошибок, получая их в качестве параметров для ваших функций обратного вызова. Например:
doSomethingAndRunCallback(function(err) {
if(err) { … }
});
B) Сообщайте об ошибках в MIDDLEWARE, вызывая next (err). Пример:
handleRequest(req, res, next) {
// An error occurs…
next(err);
}
C) Сообщите об ошибках в МАРШРУТАХ, выдав ошибку. Пример:
app.get('/home', function(req, res) {
// An error occurs
throw err;
});
D) Обработка ошибок путем настройки собственного обработчика ошибок с помощью app.error () или использования универсального обработчика ошибок Connect. Пример:
app.error(function(err, req, res, next) {
console.error(err);
res.send('Fail Whale, yo.');
});
Являются ли эти четыре принципа основой для всей обработки ошибок и создания отчетов в приложениях Node.js + Express.js?