正确处理ExpressJS 3中的错误的方法

时间:2013-03-20 13:19:01

标签: node.js error-handling express

过去几个小时我一直在努力寻找一个关于如何处理NodeJS + ExpressJS 3 api错误的体面教程。

我已经在SO上阅读了很多问题/答案,并阅读了官方的ExpressJS指南,但仍然无法弄清楚做出如此重要的事情的正确方法。我发现的大部分答案都与Express 1或Express 2相关,但现在不再存在了,ExpressJS指南只是描述了一些脱离背景的东西,这使得它很难理解。

所以这是我的用例:我希望使用GET / cities /:slug获取有关城市的信息。如果slug不存在或发生错误(例如MongoDB或Mongoose),我想返回错误代码。

这是我当前代码的相关部分:

if (err || !city) {
  res.json({code:500, city:[]});
}

这是一个基本的例子,它的工作“很好”,但我很确定这不是在NodeJS中做到这一点的正确方法。

此外,这不会停止我的NodeJS实例,但可能会出现一些意外错误。从我读到的,这不是生产中的问题,因为显然重新启动NodeJS实例更干净,第三方处理得相当好(阅读ClusterForever甚至Monit )。

我希望能够对这个问题有更深入的了解,我已经忽视了太长时间。

0 个答案:

没有答案