В nodejs экспресс для обработки исключений, проверьте ERR в обратных вызовов, как:как обрабатывать исключения в одном месте в nodejs и выразить
if(err!==null){
next(new Error ('Erro Message'));
}
Что в свою очередь вызывает обработчик ошибок промежуточного программного экспресс-в.
app.use(function(err, req, res, next){
if(!err) return next();
console.log('<-------Error Occured ----->');
res.send(500, JSON.stringify(err, ['stack', 'message']));
});
Но называть вызов следующим (ERR), я вынужден пройти по ссылке для следующего во всех методах обратного вызова через все слои. Я нахожу это беспорядочным aproach. Есть ли лучший способ справиться с исключениями и отправить правильный ответ с помощью событий или доменов.
Мой фактический вопрос касался лучшего способа обработки исключений, а не использования прямого промежуточного программного обеспечения. Поскольку мое приложение имеет разные слои, я не могу пройти вокруг ссылки следующего по всем слоям. Является ли домен или события лучшим выбором? –
Вам не нужно проходить вокруг 'next' во всех слоях, вы можете использовать обратные вызовы для этого. Например, в обработчике маршрута можно вызвать 'Model.find (userId, cb)', и если вы обнаружите ошибку там, вы вызываете 'next' – alessioalex