管理Restify中的错误

时间:2013-08-17 00:31:09

标签: node.js restify

如何使用NodeJS的Restify管理我的Restful服务器构建的所有错误?例如内部错误,数据库错误,验证,所需的参数,未找到,athorizeds ......以及uncaughtException并返回对浏览器的自定义响应?

如何设计控制器之间的数据和错误份额?

由于

1 个答案:

答案 0 :(得分:29)

  1. 立即处理您的错误,以及他们生成的错误。 next(err)实际上意味着res.send(err)。它不是throw err的替代品。如果您需要记录并关闭,请将其传递给错误处理模块,而不是将其填入next(err)吞并它。
  2. server.on('uncaughtException'...是如何处理中间件/路由中引发的任何错误的。只要您记住第一条准则,它就可以正常工作。 {strong> 'uncaughtException'不会触发next(err)来电。
  3. formatters是自定义向用户发送错误消息的方法。它们绝对不是处理uncaughtException中错误的可行替代方法,因为大概一旦你到达那里,你就会向用户发送你想要他们的错误看...不一定是最初生成的错误。见第1点。
  4. 对于与中间件无关的错误,请记住使用process.on('uncaughtException'...