6

如何从我的代码中打印 chrome devtools 中异常的堆栈跟踪?

我尝试了以下方法:

 function doSomething() { 
     undefined(); // This throws an exception
 }

 try {
      doSomething();
 } catch (e) {
      console.error("Exception thrown", e);
 }

但这会产生以下结果:

 Exception thrown TypeError {}

如果我展开它旁边的箭头,它会将我指向执行 console.error() 调用的行,所以我看不到原始错误实际发生的位置。

在控制台输出中包含原始错误信息(包括消息和完整堆栈跟踪到错误发生的确切位置)的最佳方式是什么?

4

2 回答 2

8

对象错误有一个属性stack。打印出来。

console.error("Exception thrown", e.stack);

请注意,该stack属性不是标准化的,仅适用于基于 V8 的浏览器 + IE。Firefox 使用不同的约定。

于 2013-09-26T18:50:28.710 回答
4

您可以将错误输出为对象

console.error("%O", e)

在此处输入图像描述

使用字符串替换

于 2018-07-25T12:30:06.147 回答