Прихващане на изключения във вложен код в JavaScript

Особеността и удобството на изключенията се състои в това, че те могат да бъдат хванати на всяко ниво на вложеност на кода. Нека разгледаме пример. Нека имаме функция, която запазва данни в локално хранилище:

javascriptfunction save(str) {
  localStorage.setItem('key', str);
}

Както вече знаете, при препълване на хранилището, методът setItem ще хвърли изключение. Не е задължително обаче това изключение да се хваща вътре във функцията save. Може да се обвие в try всяко извикване на самата функция:

javascripttry {
  save('някакъв низ');
} catch (error) {
  alert('свърши място в локалното хранилище!');
}
Задание 1

Дадена е функция, която преобразува JSON в масив:

javascriptfunction getArr(json) {
  return JSON.parse(json);
}

В следния код от JSON се получава масив:

javascriptlet arr = getArr('[1,2,3,4,5]');
console.log(arr);

Обърнете извикването на функцията в конструкцията try-catch.