Poikkeusten sieppaus sisäkkäisessä koodissa JavaScriptissä
Poikkeusten erikoisuus ja kätevyys piilee siinä, että niitä voidaan siepata millä tahansa koodin sisäkkäisyystasolla. Katsotaan esimerkkiä. Oletetaan, että meillä on funktio, joka tallentaa tiedot paikalliseen tallennustilaan:
javascriptfunction save(str) {
localStorage.setItem('key', str);
}
Kuten jo tiedät, kun tallennustila täyttyy,
metodi setItem heittää poikkeuksen.
Poikkeusta ei kuitenkaan ole pakko siepata
funktion save sisällä.
Jokainen funktion kutsu voidaan kääriä
try-lohkoon:
javascripttry {
save('jokin merkkijono');
} catch (error) {
alert('Paikallinen tallennustila on täynnä!');
}
Задание 1
Annettu funktio, joka muuntaa JSONin taulukoksi:
javascriptfunction getArr(json) {
return JSON.parse(json);
}
Seuraavassa koodissa JSONista saadaan taulukko:
javascriptlet arr = getArr('[1,2,3,4,5]');
console.log(arr);
Kääri funktion kutsu try-catch-rakenteeseen.