Перахоп выключэнняў у JavaScript

Для перахопу выключэнняў выкарыстоўваецца канструкцыя try-catch. Яна мае наступны сінтаксіс:

javascripttry {
  // код
} catch (error) {
  // апрацоўка памылкі
}

У блоку try варта размяшчаць код, які можа ўтрымліваць выключэнне. Калі раптам пры выкананні гэтага кода ўзнікне выключная сітуацыя, то наш скрыпт не абрынецца з памылкай у кансолі, а пачне выконвацца код блоку catch.

У гэтым блоку мы павінны якім-небудзь адэкватным чынам адрэагаваць на памылку. Напрыклад, калі мы хацелі адправіць якія-небудзь дадзеныя праз інтэрнэт і інтэрнэт не працуе, у блоку catch мы можам як-небудзь справіцца з сітуацыяй: можна, напрыклад, выдаць паведамленне карыстачу, а можа праз некаторы час паспрабаваць адправіць дадзеныя зноў - раптам інтэрнэт ужо заработаў.

Калі ж пры выкананні блоку try ніякіх выключных сітуацый не здарылася, то карысны код проста выканаецца, а код з блоку catch - не.

Для прыкладу давайце паспрабуем разабраць JSON і ў выпадку яго някарэктнасці вывядзем на экран паведамленне пра гэта:

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('немагчыма выканаць аперацыю разбору JSON');
}
Задание 1

Дадзены код, які запісвае нейкі радок у лакальнае сховішча:

javascriptlet str = 'нейкі радок';
localStorage.setItem('key', str);

Абярніце гэты код у канструкцыю try-catch. У блоку catch выведзіце паведамленне пра перапаўненне сховішча. Праверце працу вашага кода для радка памеру менш за 5 мб і для радка большага памеру.

Задание 2

Дадзены JSON, усярэдзіне якога захоўваецца масіў. Калі гэты JSON карэктны, то выведзіце элементы масіва ў выглядзе спісу ul. Калі ж JSON не карэктны, выведзіце на экран паведамленне пра тое, што на старонцы здарылася памылка.