Хватање изузетака у 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 MB и за стринг веће величине.

Задание 2

Дат је JSON, унутар кога се налази низ. Ако је овај JSON исправан, онда прикажите елементе низа у виду листе ul. Ако JSON није исправан, прикажите на екрану поруку да је на страници дошло до грешке.