为何nodejs出错后不能像java、ruby等一下子打印出错误栈呢?!
发布于 10 年前 作者 piginzoo 9841 次浏览 最后一次编辑是 8 年前

很不爽,每次出错无法在console上看到出错的错误栈,只能人为的加console.trace(),作为新手,请教大家有无方法可以即时打印错误栈呢?

感谢!

6 回复
process.on('uncaughtException', function(err) {
  console.trace()
});

这样行吗?

感谢 @danielking ,这样可以做到,但是我必须所有出错的地方都要catch住,但是,没有catch的地方除了错,我很难排错。 像java,ruby,python在异常的时候,都会在控制台上打出未捕获的异常的错误栈来,很是方便拍错。 nodejs上如何办到呢?

只在最外层catch一下就行了,比如在app.js下。 打印err.stack: process.on(‘uncaughtException’, function(err) { console.log(err.stack); });

另外,不catch的话,一般出错都会打出堆栈的啊~

可以用domain统一进行异常处理 http://blog.fens.me/nodejs-core-domain/

推荐用domain。。。

@bsspirit @AdoHe 好东东,回头试试,感谢!

回到顶部