如何使用NodeJS的Restify管理我的Restful服务器构建的所有错误?例如内部错误,数据库错误,验证,所需的参数,未找到,athorizeds ......以及uncaughtException并返回对浏览器的自定义响应?
如何设计控制器之间的数据和错误份额?
由于
答案 0 :(得分:29)
next(err)
实际上意味着res.send(err)
。它不是throw err
的替代品。如果您需要记录并关闭,请将其传递给错误处理模块,而不是将其填入next(err)
吞并它。server.on('uncaughtException'...
是如何处理中间件/路由中引发的任何错误的。只要您记住第一条准则,它就可以正常工作。 {strong> 'uncaughtException'
不会触发next(err)
来电。 formatters
是自定义向用户发送错误消息的方法。它们绝对不是处理uncaughtException
中错误的可行替代方法,因为大概一旦你到达那里,你就会向用户发送你想要他们的错误看...不一定是最初生成的错误。见第1点。process.on('uncaughtException'...