统一错误处理
所有的 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 提示你鉴权失败。