Прихващане на изключения във вложен код в JavaScript
Особеността и удобството на изключенията се състои в това, че те могат да бъдат хванати на всяко ниво на вложеност на кода. Нека разгледаме пример. Нека имаме функция, която запазва данни в локално хранилище:
function save(str) {
localStorage.setItem('key', str);
}
Както вече знаете, при препълване на хранилището,
методът setItem ще хвърли изключение.
Не е задължително обаче това изключение да се хваща
вътре във функцията save. Може да се обвие
в try всяко извикване на самата функция:
try {
save('някакъв низ');
} catch (error) {
alert('свърши място в локалното хранилище!');
}
Дадена е функция, която преобразува JSON в масив:
function getArr(json) {
return JSON.parse(json);
}
В следния код от JSON се получава масив:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Обърнете извикването на функцията в конструкцията try-catch.