NodeJS错误堆栈未定义

时间:2016-03-02 19:09:07

标签: javascript node.js

我正在使用节点检查器,我注意到new Error()有未定义的堆栈。

如果我将此值赋给变量,该变量将显示堆栈未定义。

有趣的是,运行new Error().stack会产生一个包含正确堆栈的消息。

理想情况下,这些错误默认会有堆栈,所以当我记录时我可以知道在哪里看。

我不明白为什么会发生这种情况,无法找到相关信息。这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:2)

因为 The string representing the stack trace is lazily generated when the error.stack property is accessed

一个小例子:

function newError() {

  var error = new Error('ohhh')

  // See the contents of a _stack variable using the Inspector
  var _stack = '' + error.stack

}

newError()