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:
function 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:
try {
save('jakiś ciąg znaków');
} catch (error) {
alert('skończyło się miejsce w pamięci lokalnej!');
}
Dana jest funkcja, która przekształca JSON na tablicę:
function getArr(json) {
return JSON.parse(json);
}
W następnym kodzie z JSON otrzymują tablicę:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Opakuj wywołanie funkcji w konstrukcję try-catch.