我有一个restify服务器,它从客户端获取带有一些参数的请求来运行一个很长的过程。
因此,在初始化一些属性和一些检查之后,服务将json返回给客户端(并开始处理 asynchronusly )。然后客户端可以通过套接字上的日志文件监控进程。
问题是 之前的任何异常
res.send(jsonObject)
可以被
抓住process.on('uncaughtException'...
但 发送回复后 的任何异常都无法抓住!!!
无论以这种方式处理异常都不是最好的方法,并且在套接字上拖尾不是那么好
我希望能够捕获在向客户端发送响应后可能发生的后续异常!!
答案 0 :(得分:0)
也许您应该查看关于异常处理的this帖子。当错误冒泡到uncaughtException时,它会将进程置于未知状态。如果您想要隔离这些异常,请考虑使用domains安全地包装您的逻辑。
每个NodeJs文档:“请注意,uncaughtException是非常的 异常处理的粗略机制,可以删除 将来
不要使用它,而是使用域名。如果您使用它,请重新启动 每次未处理的异常后应用程序!
不要将它用作相同的On Error Resume Next的node.js。一个 未处理的异常意味着您的应用程序 - 并通过扩展node.js 本身 - 处于未定义状态。盲目恢复意味着什么 可能会发生。
在升级时考虑恢复拔电源线 你的系统。十分之九没有任何事情发生 - 但是第十次 时间,你的系统破灭了。
你被警告了。“