Перахоп выключэнняў у JavaScript
Для перахопу выключэнняў выкарыстоўваецца
канструкцыя try-catch. Яна мае
наступны сінтаксіс:
try {
// код
} catch (error) {
// апрацоўка памылкі
}
У блоку try варта размяшчаць код,
які можа ўтрымліваць выключэнне. Калі
раптам пры выкананні гэтага кода ўзнікне
выключная сітуацыя, то наш скрыпт не
абрынецца з памылкай у кансолі, а пачне выконвацца
код блоку catch.
У гэтым блоку мы павінны якім-небудзь адэкватным
чынам адрэагаваць на памылку. Напрыклад,
калі мы хацелі адправіць якія-небудзь дадзеныя
праз інтэрнэт і інтэрнэт не працуе, у
блоку catch мы можам як-небудзь справіцца
з сітуацыяй: можна, напрыклад, выдаць паведамленне
карыстачу, а можа праз некаторы час
паспрабаваць адправіць дадзеныя зноў - раптам
інтэрнэт ужо заработаў.
Калі ж пры выкананні блоку try ніякіх
выключных сітуацый не здарылася, то
карысны код проста выканаецца, а код з
блоку catch - не.
Для прыкладу давайце паспрабуем разабраць JSON і ў выпадку яго някарэктнасці вывядзем на экран паведамленне пра гэта:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('немагчыма выканаць аперацыю разбору JSON');
}
Дадзены код, які запісвае нейкі радок у лакальнае сховішча:
let str = 'нейкі радок';
localStorage.setItem('key', str);
Абярніце гэты код у канструкцыю try-catch.
У блоку catch выведзіце паведамленне пра
перапаўненне сховішча. Праверце працу
вашага кода для радка памеру менш за 5
мб і для радка большага памеру.
Дадзены JSON, усярэдзіне якога захоўваецца масіў.
Калі гэты JSON карэктны, то выведзіце элементы
масіва ў выглядзе спісу ul. Калі ж
JSON не карэктны, выведзіце на экран паведамленне
пра тое, што на старонцы здарылася памылка.