在 node 中,错误报告/处理的方式似乎有所不同.与其他框架相比,js+Express.js应用程序.我的理解正确吗,它的工作原理如下?
A) Detect个错误,将它们作为回调函数的参数接收.例如:
doSomethingAndRunCallback(function(err) {
if(err) { … }
});
B) Report通过调用next(err)在中间件中出现错误.例子:
handleRequest(req, res, next) {
// An error occurs…
next(err);
}
C) Report通过抛出错误在路由中出现错误.例子:
app.get('/home', function(req, res) {
// An error occurs
throw err;
});
D) Handle通过应用程序配置自己的错误处理程序.error()或使用通用连接错误处理程序.例子:
app.error(function(err, req, res, next) {
console.error(err);
res.send('Fail Whale, yo.');
});
这四项原则是 node 中所有错误处理/报告的基础吗.js+Express.js应用程序?