Interceptovanje izuzetaka u JavaScript-u

Za hvatanje izuzetaka koristi se konstrukcija try-catch. Ona ima sledeću sintaksu:

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

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('nije moguće izvršiti operaciju parsiranja JSON-a');
}
Задание 1

Dat je kod koji upisuje određeni string u lokalno skladište:

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

Задание 2

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.