Как поймать NetworkError в JavaScript?
в консоли JavaScript Chrome, Если я запустил это:
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
как я могу поймать NetworkError?
2 ответов
Я думаю, что вы имели в виду:
if(exception.name == 'NetworkError'){
console.log('There was a network error.');
}
Я не верю, что ошибка-это экземпляр NetworkError
, но брошенный таким образом:
throw {
name: 'NetworkError',
message: 'A network error occurred.'
// etc...
}
посмотреть в onreadystatechange событие. Вы можете получить статус ответа.