⊗jsSpExcNC 141 of 294 menu

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.

idenbndenl