Przechwytywanie wyjątków w zagnieżdżonym kodzie w JavaScript

Cecha wygoda wyjątków polega na tym, że można je łapać na dowolnym poziomie zagnieżdżenia kodu. Spójrzmy na przykład. Niech mamy funkcję, która zapisuje dane w pamięci lokalnej:

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

Jak już wiesz, przy przepełnieniu pamięci, metoda setItem rzuci wyjątek. Nie jest jednak konieczne, aby ten wyjątek łapać wewnątrz funkcji save. Można opakować w try każde wywołanie samej funkcji:

javascripttry {
  save('jakiś ciąg znaków');
} catch (error) {
  alert('skończyło się miejsce w pamięci lokalnej!');
}
Задание 1

Dana jest funkcja, która przekształca JSON na tablicę:

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

W następnym kodzie z JSON otrzymują tablicę:

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

Opakuj wywołanie funkcji w konstrukcję try-catch.