Undantagshantering i nästlad kod i JavaScript
Funktionen och bekvämligheten med undantag ligger i att de kan fångas på vilken nivå som helst av kodnästling. Låt oss titta på ett exempel. Antag att vi har en funktion som sparar data i det lokala lagret:
function save(str) {
localStorage.setItem('key', str);
}
Som du redan vet, när lagret är fullt,
kommer metoden setItem att kasta ett undantag.
Det är dock inte nödvändigt att fånga detta undantag
inuti funktionen save. Man kan lägga
varje anrop till själva funktionen i try:
try {
save('någon sträng');
} catch (error) {
alert('slut på utrymme i det lokala lagret!');
}
Givet en funktion som omvandlar JSON till en array:
function getArr(json) {
return JSON.parse(json);
}
I följande kod hämtas en array från JSON:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Sätt funktionsanropet i en try-catch-konstruktion.