Interceptarea excepțiilor în codul imbricat în JavaScript
Particularitatea și comoditatea excepțiilor constă în faptul că acestea pot fi prinse la orice nivel de imbricare a codului. Să privim un exemplu. Să presupunem că avem o funcție care salvează date în stocarea locală:
function save(str) {
localStorage.setItem('key', str);
}
După cum știți deja, la depășirea stocării,
metoda setItem va arunca o excepție.
Nu este obligatoriu, totuși, să prindem
această excepție
în interiorul funcției save. Putem înfășura
fiecare apel al funcției în try:
try {
save('un șir oarecare');
} catch (error) {
alert('s-a epuizat spațiul în stocarea locală!');
}
Este dată o funcție care transformă JSON într-un array:
function getArr(json) {
return JSON.parse(json);
}
În următorul cod din JSON se obține un array:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Înfășurați apelul funcției în construcția try-catch.