javascript - 如何在 JavaScript 中捕获 NetworkError?

标签 javascript xmlhttprequest referenceerror

在 Chrome 的 JavaScript 控制台中,如果我运行这个:

var that = new XMLHttpRequest();
that.open('GET', 'http://this_is_a_bad_url.com', false);
that.send();

我得到一个有意预期的错误:

NetworkError: A network error occurred.

我想捕获这个,所以我使用:

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 的错误:

ReferenceError: NetworkError is not defined

如何捕获网络错误?

最佳答案

我想你的意思是:

if(exception.name == 'NetworkError'){
   console.log('There was a network error.');
}

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

throw {
   name: 'NetworkError',
   message: 'A network error occurred.'
   // etc...
}

关于javascript - 如何在 JavaScript 中捕获 NetworkError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20231075/

相关文章:

soap - 不能将 HTTPS 与 ServerXMLHTTP 对象一起使用

javascript - 浏览器中的 SOAP 请求 JavaScript 未给出响应

javascript - 开 Jest - 引用错误 : imported function is not defined

javascript - Masonry javascript 插件出现“未定义”错误

javascript - x == !x 在 javascript 中返回 true 的情况

javascript - 无法在 iPhone/iPad 上延迟两个 JavaScript 操作

javascript - 如何检测 JSON 模型中的属性值是否随 AngularJS 中的给定值更改

javascript - JS 缩小 : Compressing the code

javascript - Cors - 此 set-cookie 域属性对于当前主机 url 无效

javascript - Uncaught ReferenceError : Messages is not defined meteor chat tutorial