NodeJS - ExpressJS错误处理模式/实践

时间:2016-01-04 06:46:38

标签: angularjs node.js logging error-handling

我正在开发小型MEAN应用程序。我在angularJS部分(UI部分)开发了很好的错误处理。但我仍然缺乏从Backend部分正确处理错误 - ExpressJS(而非NodeJS)。 ExpressJS还使用Web服务(AWS)。

我已经阅读了有关'uncaughtException','domains'的不同stackoverflow帖子。一些帖子建议使用像forever或node cluster这样的包再次启动节点。但我没有找到处理NODE错误的综合解决方案。

任何人都可以建议我结束正确的工作流程,并采用一些最佳模式和实践来处理NodeJS错误。我正在寻找错误处理和记录机制。

非常感谢你。

1 个答案:

答案 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会隐式抛出它们。如果你不想,你不需要单独处理它们。