我正在尝试使用此代码强制堆栈溢出:
// Throws stack overflow exception
var count = 0;
try {
(function curse() {
console.log(count++);
curse();
})();
} catch (e) {
console.log('ERROR');
console.log(e.message);
}
然而,当我运行它时,它会在屏幕上打印数字,然后正常退出。没有异常抛出,我可以删除try-catch
,但仍然没有异常输出到控制台。
为什么我没有将异常消息转储到控制台?
节点版本为v0.12.2
,V8为3.28.73
。
答案 0 :(得分:1)
如果升级到最新的node.js(当前为v4.1.2),您可能会看到转储到控制台的异常消息。这似乎是旧版本node.js中的一个错误。
此外,在当前版本的node.js中,如果您取出console.log(count++);
语句,您可能已经能够看到异常消息。至少,这对我来说是v0.10.26。