node.js 使用domain模块捕获异步回调中的异常

和其他服务器端语言相比,貌似node.js 对于异常捕捉确实非常困难.首先你会想到try/catch ,但是在使用过程中我们会发现并没有真正将错误控制在try/catch 语句中.为什么?答案是这样的:node.js 是异步IO执行,所以我们将try/catch 反正异步回调函数中,当出现一个异常的时候,我们try 拿到这个错误时应该错过了当前程序运行堆栈,而在node.js原生的uncaughtException 处理事件却挂在 process 对象上,OMG,你可想而知,如果一个异常出现时,当前运行的 process 会直接挂掉,导致错误永远不会走到 catch 语句.所以 try/cat
  • 1

回到顶部