4

如果 javascript 代码中出现未处理的异常,所有浏览器都会在其日志中创建美丽消息,包括异常类型、消息和堆栈跟踪和/或到源代码行的有用链接。现在我想捕获一个异常,把相同的日志作为未处理的异常,然后继续执行。我试着写一些类似的东西

try {
...
} catch (e) {
console.log(e);
}

但我在 Chrome 中得到的只是日志中的异常类型名称,没有任何描述和堆栈或源代码行链接。如何创建与未处理异常相同但捕获的异常并继续执行的漂亮异常日志消息?

4

1 回答 1

4

您可以使用对象的stack属性Error来获取堆栈跟踪。

如果您自己没有抛出异常,则可以将其包装在错误对象中以至少提供对 catch 块的跟踪。

try{
  throw new Error("Test");

}
catch(e){
  console.log(e.stack);
}
于 2013-08-29T02:00:00.623 回答