You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript如何从Error对象中提取仅有的堆栈跟踪信息?

在TypeScript中提取Error对象的指定行数堆栈跟踪

核心结论

标准Error对象的堆栈信息统一存储在stack属性中,stackTrace是非标准属性,不同运行环境表现不稳定,不要使用。

提取指定行数堆栈的实现

要获取仅3行堆栈跟踪,需对stack属性做字符串分割和截取处理,示例代码如下:

} catch (err: any) {
  // 先校验错误对象的合法性
  if (err instanceof Error && err.stack) {
    // 将堆栈内容按换行符拆分为数组
    const stackLines = err.stack.split('\n');
    // 通常stack第一行是错误描述,后续行才是调用栈,这里取3行调用栈
    const limitedStack = stackLines.slice(1, 4).join('\n');
    console.log(limitedStack);
  }
}

注意事项

  • 不同运行环境(Node.js/浏览器)的stack格式略有差异,但拆分和截取的逻辑通用。
  • 如果需要包含错误消息的前3行,把slice(1, 4)换成slice(0, 3)即可。

内容的提问来源于stack exchange,提问作者spacedog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:40:26