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

React中如何区分Axios捕获的HTTP错误和其他运行时错误

Axios catch块区分HTTP相关错误与普通运行时错误方案

你可以直接使用Axios内置的isAxiosError()静态方法做判断,该方法返回true时代表当前错误是Axios请求链路产生的HTTP相关错误(包含网络异常、请求超时、接口返回非2xx状态码等所有和HTTP请求相关的错误场景),反之则是then块内业务代码抛出的普通运行时错误。

改造后的代码示例如下:

axios.get(getCertUrl)
  .then(async (response) => {
    // 此处的操作可能会抛出运行时错误
  })
  .catch(async (error) => {
    if (axios.isAxiosError(error)) {
      // 仅为HTTP相关错误的处理逻辑
      // 补充:如果需要进一步区分是服务器返回错误还是请求未发出,可以加判断
      if (error.response) {
        // 服务器返回了非2xx的状态码,可通过error.response.status拿状态码
      } else {
        // 请求未成功发出,比如断网、请求超时
      }
    } else { 
      // 其他非HTTP相关错误,例如空引用错误、类型错误等then块内业务逻辑抛出的错误
    }
  });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:54:04