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

Axios出现Network Error时如何获取ECONNREFUSED等底层错误码

Axios会对底层网络错误做一层封装,所有连接异常类的错误都会被统一包装为message为Network Error的错误实例,你需要的ECONNREFUSED错误码存储在Axios抛出的错误实例的code属性中,直接匹配顶层message是拿不到目标内容的。

可用的测试写法

1. 链式匹配写法(适配Jest/Vitest等主流测试框架,代码最简洁)

const promise = axios.post("/path/under/test", {"some":"data"});
await expect(promise).rejects.toMatchObject({
  code: "ECONNREFUSED"
});

2. 显式捕获写法(适配所有测试框架,支持更复杂的校验逻辑)

try {
  await axios.post("/path/under/test", {"some":"data"});
  // 请求未抛出错误不符合预期,直接标记测试失败
  expect(true).toBe(false);
} catch (err) {
  expect(err.code).toBe("ECONNREFUSED");
}

如果需要获取更底层的错误信息,可以访问err.cause属性,这里存储的是Node.js/浏览器原生抛出的未被Axios包装的根错误对象,同样可以找到ECONNREFUSED的错误标识。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:27:04