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

如何读取Axios抛出的异常错误对象及处理状态码问题

Axios错误处理常见问题解答

1. 如何读取AxiosError的非标准输出信息

你看到的不是标准JSON,是Axios抛出的AxiosError实例的控制台打印格式,直接通过对象属性访问就能获取信息:

  • 直接访问内置属性:比如error.code(错误码,如ERR_BAD_REQUEST)、error.config(请求配置)、error.message(错误描述);
  • 如果是HTTP响应错误(比如404这类状态码错误),还能通过error.response拿到响应对象,里面包含status、data等字段;
  • 要是想转成标准JSON格式,调用error.toJSON()方法,返回的就是可直接解析的JSON对象。

示例代码:

try {
  await axios.post('https://myserver.url/myapifunction');
} catch (error) {
  // 直接访问属性
  console.log('错误码:', error.code);
  console.log('请求URL:', error.config.url);
  // 转成标准JSON
  const errorJson = error.toJSON();
  console.log('标准JSON格式错误信息:', errorJson);
}

2. 请求失败时如何获取状态码

请求失败分两种场景,要做判断处理:

  • HTTP响应错误(状态码非2xx):这时error.response存在,状态码在error.response.status里;
  • 网络错误/请求未发送成功:比如断网、域名解析失败,此时error.response为undefined,没有status字段,需要单独处理这种情况。

示例代码:

try {
  const response = await axios.post('https://myserver.url/myapifunction');
  console.log('成功状态码:', response.status);
} catch (error) {
  if (error.response) {
    // HTTP响应错误,有状态码
    console.log('错误状态码:', error.response.status);
    console.log('响应内容:', error.response.data);
  } else {
    // 无响应,比如网络问题
    console.log('请求失败:', error.message);
    // 可以设置默认状态码或者提示用户检查网络
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 08:18:15