Перахоп выключэнняў у ўкладзеным кодзе ў 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.