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.