Node.js + Express.js应用程序的错误处理原理?

与其他框架相比,Node.js + Express.js应用程序中的错误报告/处理似乎有所不同我理解它的工作原理是否正确?

A) 通过接收错误作为回调函数的参数来检测错误。例如:

doSomethingAndRunCallback(function(err) { 
    if(err) { … }
});

B) 通过调用next(err)报告 MIDDLEWARE中的​​错误。例:

handleRequest(req, res, next) {
    // An error occurs…
    next(err);
}

C) 通过抛出错误来报告路由中的错误。例:

app.get('/home', function(req, res) {
    // An error occurs
    throw err;
});

d) 手柄通过配置通过app.error自己的错误处理的错误()或使用通用连接错误处理程序。例:

app.error(function(err, req, res, next) {
    console.error(err);
    res.send('Fail Whale, yo.');
});

这四个原则是否是Node.js + Express.js应用程序中所有错误处理/报告的基础?

L阳光2020/03/24 11:00:00

Joyent的人们对此发表了非常有见地的最佳实践文档任何Node.js开发人员都必须阅读的文章。