使用Typescript,我如何从错误中只获得堆栈跟踪?
例如,请看下面的示例代码:
} catch (err: any) {
console.log(err.message);
console.log(err.stackTrace);
console.log(err.stack);
console.log(err);
}
看看上面代码的结果:
我应该使用什么方法或属性来只获取堆栈跟踪的3行?
1) err.message: provides he error message as expected.
2) err.stackTrace: provides and object but I'm not sure exactly what.
3) err.stack: and "err" return exactly the same thing - everything.
谢谢你。
1条答案
按热度按时间42fyovps1#
要获得堆栈跟踪,我们可以使用
Error
示例的stack
属性,如MDN Web Docs中所述。让我们将以下操作的结果存储在一个名为
stack
的变量中。让我们利用堆栈中的换行符将行分隔为数组元素。之后,我们可以slice()
数组以忽略第一个索引(即错误消息),并根据需要获取接下来的3个元素以包括3行。因为我们使用slice(1, 4)
,所以我们保证堆栈跟踪最多3行。之后,我们可以使用join("\n")
将这些数组元素连接到字符串中,并使用换行符连接。代码如下所示: