Preprečevanje izjem v JavaScript

Za preprečevanje izjem se uporablja konstrukcija try-catch. Ima naslednjo sintakso:

javascripttry {
  // 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:

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('Ni mogoče izvesti operacije razčlenjevanja JSON');
}
Задание 1

Podana je koda, ki zapiše nek niz v lokalno shrambo:

javascriptlet 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.

Задание 2

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.