节点不会抛出Stack Overflow异常

时间:2015-10-08 00:15:30

标签: javascript node.js exception-handling

我正在尝试使用此代码强制堆栈溢出:

// 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

1 个答案:

答案 0 :(得分:1)

如果升级到最新的node.js(当前为v4.1.2),您可能会看到转储到控制台的异常消息。这似乎是旧版本node.js中的一个错误。

此外,在当前版本的node.js中,如果您取出console.log(count++);语句,您可能已经能够看到异常消息。至少,这对我来说是v0.10.26。