我正在开发小型MEAN应用程序。我在angularJS部分(UI部分)开发了很好的错误处理。但我仍然缺乏从Backend部分正确处理错误 - ExpressJS(而非NodeJS)。 ExpressJS还使用Web服务(AWS)。
我已经阅读了有关'uncaughtException','domains'的不同stackoverflow帖子。一些帖子建议使用像forever或node cluster这样的包再次启动节点。但我没有找到处理NODE错误的综合解决方案。
任何人都可以建议我结束正确的工作流程,并采用一些最佳模式和实践来处理NodeJS错误。我正在寻找错误处理和记录机制。
非常感谢你。
答案 0 :(得分:0)
在定义了所有路由后,您可以在app.js中使用全局错误处理程序。
https://expressjs.com/en/guide/error-handling.html
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500).send('Something broke!')
})
在每个路由中,如果应用了任何条件或从回调中明确说明next(错误),则抛出错误。
每当在回调之外发生错误或未定义的错误时,express会隐式抛出它们。如果你不想,你不需要单独处理它们。