首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NetworkError中捕获JavaScript?

如何在NetworkError中捕获JavaScript?
EN

Stack Overflow用户
提问于 2013-11-27 01:03:16
回答 5查看 63.6K关注 0票数 28

在Chrome的JavaScript控制台中,如果我运行以下命令:

代码语言:javascript
复制
var that = new XMLHttpRequest();
that.open('GET', 'http://this_is_a_bad_url.com', false);
that.send();

我收到了一个意料之外的错误:

代码语言:javascript
复制
NetworkError: A network error occurred.

我想抓住这个,所以我用:

代码语言:javascript
复制
var that = new XMLHttpRequest();
that.open('GET', 'http://this_is_a_bad_url.com', false);
try {
  that.send();
} catch(exception) {
  if(exception instanceof NetworkError) {
    console.log('There was a network error.');
  }
}

但是,我收到一个关于NetworkError未被定义的错误:

代码语言:javascript
复制
ReferenceError: NetworkError is not defined

我怎样才能抓住NetworkError?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-11-27 01:08:55

我想你的意思是:

代码语言:javascript
复制
if(exception.name == 'NetworkError'){
   console.log('There was a network error.');
}

我不认为这个错误是NetworkError的一个实例,而是以这种方式抛出的:

代码语言:javascript
复制
throw {
   name: 'NetworkError',
   message: 'A network error occurred.'
   // etc...
}
票数 27
EN

Stack Overflow用户

发布于 2019-01-23 14:22:52

我在寻找一种方法来检查我在使用Axios时得到的Network Error时找到了这个答案,所以如果您没有使用Axios,这个答案可能不适合您。

通过Axios接收的error对象具有configrequestresponse属性,requestresponse都具有status属性。response对象的属性显示在下面的图像中:

我的axios配置如下所示:

代码语言:javascript
复制
this.client = axios.create(options);
this.client.interceptors.response.use(this.handleSuccessResponse, this.handleErrorResponse);
this.unauthorizedCallback = () => {};

handleErrorResponse方法是:

代码语言:javascript
复制
handleErrorResponse(error) {
  // use the information from the error object here
}

编辑:正如@Erdős-Bacon建议的那样

如果您使用的是axios和nginx,这可能是您的注释。我不同意error.responseundefined,原来是因为CORS的问题。必须将我的nginx配置设置为关键字,总是添加适当的标题来解决CORS,否则标题就会在错误响应上被剥离,因此CORS问题就会出现。有关更多信息,请参见这个答案

票数 5
EN

Stack Overflow用户

发布于 2013-11-27 01:10:28

查看单位差事件。您可以获得响应的状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20231075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档