Afvikling af undtagelser i indlejret kode i JavaScript
Egenskaben og bekvemmeligheden ved undtagelser består i, at de kan fanges på ethvert indlejringsniveau i koden. Lad os se på et eksempel. Antag, at vi har en funktion, der gemmer data i local storage:
function save(str) {
localStorage.setItem('key', str);
}
Som du allerede ved, vil metoden setItem kaste en undtagelse,
hvis opbevaringen er fuld.
Det er dog ikke nødvendigt at fange denne undtagelse
inde i funktionen save. Man kan indpakke
hvert kald af selve funktionen i try:
try {
save('en eller anden streng');
} catch (error) {
alert('Der er ikke mere plads i local storage!');
}
Givet en funktion, der konverterer JSON til et array:
function getArr(json) {
return JSON.parse(json);
}
I følgende kode hentes et array fra JSON:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Indpak kaldet til funktionen i en try-catch konstruktion.