Interceptovanje izuzetaka u JavaScript-u
Za hvatanje izuzetaka koristi se
konstrukcija try-catch. Ona ima
sledeću sintaksu:
try {
// kod
} catch (error) {
// obrada greške
}
U bloku try treba smestiti kod
koji može da sadrži izuzetak. Ako
prilikom izvršavanja ovog koda nastane
izuzetna situacija, onda naš skript neće
pasti sa greškom u konzoli, već će se početi izvršavati
kod bloka catch.
U ovom bloku treba da adekvatno
reagujemo na grešku. Na primer,
ako smo hteli da pošaljemo neke podatke
preko interneta a internet ne radi, u
bloku catch možemo da se izborimo
sa situacijom: možemo, na primer, da prikažemo poruku
korisniku, a možemo i da pokušamo posle nekog vremena
ponovo da pošaljemo podatke - možda je
internet već počeo da radi.
Ako prilikom izvršavanja bloka try nije došlo do
izuzetnih situacija, onda će se
koristan kod jednostavno izvršiti, a kod iz
bloka catch - neće.
Za primer, hajde da pokušamo da parsirajmo JSON i u slučaju da je nekorektan, prikažimo na ekranu poruku o tome:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('nije moguće izvršiti operaciju parsiranja JSON-a');
}
Dat je kod koji upisuje određeni string u lokalno skladište:
let str = 'neki string';
localStorage.setItem('key', str);
Omotajte ovaj kod u konstrukciju try-catch.
U bloku catch prikažite poruku o
prekoračenju skladišta. Proverite rad
vašeg koda za string veličine manje od 5
MB i za string veće veličine.
Dat je JSON, unutar koga je sačuvan niz.
Ako je ovaj JSON korektan, onda prikažite elemente
niza u vidu liste ul. Ako
JSON nije korektan, prikažite na ekranu poruku
da se na stranici dogodila greška.