节点不抛出堆栈溢出exception
我试图用这个代码强制堆栈溢出:
// Throws stack overflow exception var count = 0; try { (function curse() { console.log(count++); curse(); })(); } catch (e) { console.log('ERROR'); console.log(e.message); }
但是,当我运行它时,它将数字打印到屏幕上,然后优雅地退出。 没有exception抛出,我可以删除try-catch
,仍然没有任何exception输出到控制台。
为什么我不能获得转储到控制台的exception消息?
节点版本是v0.12.2
,V8是3.28.73
。
如果升级到最新的node.js (当前为v4.1.2),则可能会看到转储到控制台的exception消息。 这似乎是在旧版本的node.js中的一个错误。
另外,在你当前版本的node.js中,如果你拿出console.log(count++);
声明,您可能已经能够看到exception消息。 至less,这在v0.10.26中有效。