Skip to content

统一错误处理

所有的 API 调用都有统一的异常规范。当以下情况发生时,SDK 会抛出 LoongshipApiError

  • 网络异常(断网、DNS 解析失败)。
  • HTTP 状态码不是 2xx(如 404,500)。
  • HTTP 请求成功,但上游业务返回数据的业务状态码(code / status)不等于 0(表示业务逻辑报错)。

你可以通过 try...catch 拦截它,并获取详细的报错信息用于界面提示或日志上报:

typescript
import { LoongshipApiError } from 'loongship-data/error'; // (如果需要类型导入)

try {
  const data = await client.ship.detail({ mmsi: 123456 });
} catch (error) {
  // 推荐通过 name 来判断是不是 SDK 抛出的业务/网络错误
  if (error.name === 'LoongshipApiError') {
    console.log("错误状态码:", error.code);     
    console.log("中文错误描述:", error.message); 
    console.log("报错的接口标识:", error.endpoint); 
    console.log("上游原始数据体:", error.raw); // 如果你需要深挖原因为什么报错
  }
}

TIP

如果你在调用接口时漏传了必填的 key(包括实例没有注入、单次请求也没传),系统会抛出 MissingApiKeyError 提示你鉴权失败。