最佳答案
与其他框架相比,Node.js + 快递应用程序中的错误报告/处理似乎有所不同。我的理解是否正确,它的工作原理如下?
A) 检测错误,通过接收它们作为回调函数的参数。例如:
doSomethingAndRunCallback(function(err) {
if(err) { … }
});
B) 通过调用 next (err)在 MIDDLEWARE 中发生 报告错误。例如:
handleRequest(req, res, next) {
// An error occurs…
next(err);
}
C) 报告错误在 ROUTES 中通过抛出错误。例如:
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 应用程序中所有错误处理/报告的基础吗?