⊗jsSpExcET 138 of 294 menu

Vrste izjemnih situacij v JavaScriptu

V JavaScriptu je zelo malo situacij, v katerih se pojavijo izjeme. Prvič, preprosto zato, ker je zelo malo možnosti za njihovo pojavitev.

Drugič, ker je sam jezik "vseodpustljiv": na veliko stvari gleda skozi prste, na primer na deljenje z ničlo ali na neveljavno HTML kodo. Tudi če navedete napačno pot do slike, ki jo želite naložiti, vam bo JavaScript to oprostil in ne bo obravnaval kot izjemo.

Kljub temu pa izjemne situacije obstajajo. Mi bomo obravnavali dve najpreprostejši in na njuna primera preučili delo z izjemami v JavaScriptu.

Prva izjema se pojavi, ko želimo razčleniti neveljaven JSON:

let data = JSON.parse('{1,2,3,4,5}'); // ta json je neveljaven

In druga izjema se pojavi, ko se lokalno shramba, namenjena naši spletni strani, prepolni (več kot 5 megabajtov). Ustvarimo takšno izjemo umetno:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // oblikujemo niz večji od 5 MB str += '+'; } localStorage.setItem('key', str); // poskušamo zapisati v shrambo

Kako JavaScript reagira na takšne izjemne situacije? Preprosto vrže napako v konzolo in prekine nadaljnje izvajanje skripte.

Naša naloga kot programerjev je, da ujamemo takšno situacijo in se na nek način spopademo z njo, ne da bi program popolnoma prenehal z izvajanjem. Za to obstaja posebna konstrukcija try-catch, ki jo bomo obravnavali v naslednjih lekcijah.

Ustvarite niz dovolj velike velikosti in poskusite ga zapisati v lokalno shrambo. Prepričajte se, da bo v konzoli prišlo do napake.

Poskusite razčleniti neveljaven JSON. Prepričajte se, da bo v konzoli prišlo do napake.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni