Preprečevanje izjem v JavaScript
Za preprečevanje izjem se uporablja
konstrukcija try-catch. Ima
naslednjo sintakso:
try {
// koda
} catch (error) {
// obdelava napake
}
V bloku try je treba postaviti kodo,
ki lahko vsebuje izjemo. Če
med izvajanjem te kode pride do
izjemne situacije, naša skripta ne bo
padla z napako v konzoli, ampak se bo začelo izvajati
kodo bloka catch.
V tem bloku moramo na napako nekako ustrezno
reagirati. Na primer,
če smo želeli poslati nekatere podatke
prek interneta in internet ne deluje, v
bloku catch se lahko spoprimemo
s situacijo: lahko na primer prikažemo sporočilo
uporabniku, ali pa se lahko čez nekaj časa
poskusimo podatke poslati znova - morda
je internet že deloval.
Če med izvajanjem bloka try ni prišlo do
izjemnih situacij, potem se
uporabna koda preprosto izvede, koda iz
bloka catch pa - ne.
Za primer poskusimo razčleniti JSON in v primeru njegove neustreznosti izpišimo sporočilo o tem:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('Ni mogoče izvesti operacije razčlenjevanja JSON');
}
Podana je koda, ki zapiše nek niz v lokalno shrambo:
let str = 'nek niz';
localStorage.setItem('key', str);
Ovojte to kodo v konstrukcijo try-catch.
V bloku catch izpišite sporočilo o
prepolnitvi shrambe. Preverite delovanje
vaše kode za niz velikosti manj kot 5
MB in za niz večje velikosti.
Podan je JSON, znotraj katerega je shranjeno polje.
Če je ta JSON ustrezen, izpišite elemente
polja kot seznam ul. Če pa
JSON ni ustrezen, izpišite na zaslon sporočilo,
da je na strani prišlo do napake.