Сборка от 17 марта 2017 г



Download 9,9 Mb.
bet212/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   208   209   210   211   212   213   214   215   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

Объект ошибки


В примере выше мы видим объект ошибки. У него есть три основных свойства:




name

Тип ошибки. Например, при обращении к несуществующей переменной: "ReferenceError" .




message

Текстовое сообщение о деталях ошибки.




stack

Везде, кроме IE8‑, есть также свойство stack , которое содержит строку с информацией о последовательности вызовов, которая привела к ошибке. В зависимости от браузера, у него могут быть и дополнительные свойства, см. Error в MDN и Error в MSDN .


Пример использования


В JavaScript есть встроенный метод JSON.parse(str) , который используется для чтения JavaScript‑объектов (и не только) из строки. Обычно он используется для того, чтобы обрабатывать данные, полученные по сети, с сервера или из другого источника.


Мы получаем их и вызываем метод JSON.parse , вот так:

var data = '{"name":"Вася", "age": 30}'; // строка с данными, полученная с сервера var user = JSON.parse(data); // преобразовали строку в объект


// теперь user ‐‐ это JS‐объект с данными из строки alert( user.name ); // Вася
alert( user.age ); // 30

Более детально формат JSON разобран в главе Формат JSON, метод toJSON.




В случае, если данные некорректны, JSON.parse генерирует ошибку, то есть скрипт «упадёт».

Устроит ли нас такое поведение? Конечно нет!


Получается, что если вдруг что‑то не так с данными, то посетитель никогда (если, конечно, не откроет консоль) об этом не узнает. А люди очень‑очень не любят, когда что‑то «просто падает», без всякого объявления об ошибке.


Бывают ситуации, когда без try..catch не обойтись, это – одна из таких.

Используем try..catch , чтобы обработать некорректный ответ:


var data = "Has Error"; // в данных ошибка try {


var user = JSON.parse(data); // <‐‐ ошибка при выполнении alert( user.name ); // не сработает

} catch (e) {


// ...выполнится catch
alert( "Извините, в данных ошибка, мы попробуем получить их ещё раз" ); alert( e.name );
alert( e.message );
}

Здесь в alert только выводится сообщение, но область применения гораздо шире: можно повторять запрос, можно предлагать посетителю использовать альтернативный способ, можно отсылать информацию об ошибке на сервер… Свобода действий.





Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   208   209   210   211   212   213   214   215   ...   349




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish