⊗jsSpExcET 138 of 294 menu

Vrste izuzetnih situacija u JavaScript-u

U JavaScript-u ima veoma malo situacija u kojima nastaju izuzeci. Prvo, prosto zato što ima veoma malo mesta za njihovu pojavu.

Drugo, zato što je sam jezik "sveopraštajući": on na mnoge stvari gleda kroz prste, na primer, na deljenje nulom ili na nekorektan HTML kod. Čak i ako navedete pogrešnu putanju do slike koju nameravate da učitajete, JavaScript će vam oprostiti i to i neće smatrati izuzetkom.

Međutim, izuzetne situacije postoje. Mi ćemo razložiti dve najjednostavnije i na njihovom primeru proučiti rad sa izuzecima u JavaScript-u.

Prvi izuzetak nastaje kada želimo da parsiramo nekorektan JSON:

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

A drugi izuzetak nastaje kada se lokalno skladište, dodeljeno za naš sajt, prepuni (više od 5 megabajta). Hajde da veštački izazovemo takav izuzetak:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // formiramo string veći od 5 MB str += '+'; } localStorage.setItem('key', str); // pokušavamo da upišemo u skladište

Kako JavaScript reaguje na takve izuzetne situacije? On jednostavno ispaljuje grešku u konzolu i prekida dalje izvršavanje skripte.

Naš zadatak, kao programera, sastoji se u tome da uhvatimo takvu situaciju i nekako da se izborimo sa njom, ne dajući programu da potpuno prekine svoje izvršavanje. Za ovo postoje posebne konstrukcije try-catch, koje ćemo razložiti u narednim lekcijama.

Kreirajte string dovoljno velike veličine i pokušajte da ga upišete u lokalno skladište. Uverite se u to, da će u konzoli biti greška.

Pokušajte da parsirate nekorektan JSON. Uverite se u to, da će u konzoli biti greška.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij