【问题标题】:Replicate normal NodeJS error printing behavior复制正常的 NodeJS 错误打印行为
【发布时间】:2019-08-27 18:35:15
【问题描述】:

当节点遇到捕获的异常时,它会打印发生错误的行,然后是堆栈跟踪,然后退出:

/example.js:1
throw new Error()
^

Error
    at ...

我想捕获一个异常,打印完全相同的内容,然后继续。基本上:

try {
  something();
} catch (e) {
  // what goes here?
  console.error(e);
}

请注意,上面的示例已经打印了堆栈跟踪。缺少的部分是前四行,包括文件/行引用、行文本和列指示符。

【问题讨论】:

  • console.error(e)?
  • 你问如何复制打印的节点错误?
  • @ajmeese7 是的,这正是我要问的。
  • 这不是重复的。该问题询问如何打印堆栈跟踪。这个问题中的示例代码已经打印了一个堆栈跟踪;缺少的部分是// what goes here?

标签: javascript node.js error-handling


【解决方案1】:

可以使用Error的stack属性:

try {
  something();
} catch (e) {
  console.err(e.stack);
}

【讨论】:

  • 这在功能上几乎与问题中的示例代码相同。它不会打印整个指定的输出(未捕获的异常会打印什么节点)。
猜你喜欢
  • 1970-01-01
  • 2019-09-26
  • 2019-05-31
  • 2021-07-20
  • 1970-01-01
  • 2020-03-23
  • 2012-03-31
  • 1970-01-01
  • 2020-05-26
相关资源
最近更新 更多