跳转至

上报自定义 Error

Browser RUM SDK 会自动采集未处理的前端异常。对于已经被业务代码捕获、但仍需要监控的异常,使用 addError(error, context?) 主动上报。

参数

参数 类型 必填 说明
error Unknown 推荐传入原始 Error 对象,以保留 message 和 stack
context Object 错误发生时的业务字段,例如页面状态、接口名称或重试次数

NPM 示例

import { datafluxRum } from "@cloudcare/browser-rum"

async function submit() {
  try {
    await submitOrder()
  } catch (error) {
    datafluxRum.addError(error, {
      operation: "submit_order",
      retry_count: 1
    })
  }
}

CDN 示例

fetch("/api/orders").catch(function (error) {
  window.DATAFLUX_RUM &&
    window.DATAFLUX_RUM.addError(error, {
      operation: "submit_order"
    })
})
fetch("/api/orders").catch(function (error) {
  window.DATAFLUX_RUM.onReady(function () {
    window.DATAFLUX_RUM.addError(error, {
      operation: "submit_order"
    })
  })
})

注意事项

  1. 优先传入原始 Error 对象,不要只传 error.message
  2. 不要在 Context 中写入密码、Token、完整请求体等敏感数据。
  3. 同一个异常如果既被 SDK 自动采集,又调用了 addError(),会形成两条 Error 数据;只对已经处理或业务主动识别的异常调用该 API。

验证

触发异常后,在对应 Web 应用的 Error 查看器中按 operation 字段筛选 submit_order,并检查错误 message、stack 和自定义 Context。

文档评价

文档内容是否对您有帮助?