Išimčių perėmimas įdėtame kode JavaScript
Išimčių ypatumas ir patogumas yra tas, kad jas galima perimti bet kuriame kodo įdėtumo lygyje. Pažiūrėkime pavyzdžiu. Tarkime, kad turime funkciją, kuri išsaugo duomenis į vietinę saugyklą:
function save(str) {
localStorage.setItem('key', str);
}
Kaip jau žinote, kai saugyklą perpildoma,
metodas setItem išmes išimtį.
Tačiau nebūtina šios išimties perimti
funkcijos save viduje. Galima apvynioti
kiekvieną paties funkcijos iškvietimą try:
try {
save('kaž kokia eilutė');
} catch (error) {
alert('pasibaigė vieta vietinėje saugykloje!');
}
Duota funkcija, konvertuojanti JSON į masyvą:
function getArr(json) {
return JSON.parse(json);
}
Toliau pateiktame kode iš JSON gaunamas masyvas:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Apvyniokite funkcijos iškvietimą try-catch konstrukcijoje.