Zachycování výjimek v JavaScriptu

Pro zachycení výjimek se používá konstrukce try-catch. Má následující syntaxi:

javascripttry {
  // kód
} catch (error) {
  // zpracování chyby
}

V bloku try by měl být umístěn kód, který může obsahovat výjimku. Pokud při provádění tohoto kódu nastane výjimečná situace, náš skript nespadne s chybou v konzoli, ale začne se provádět kód bloku catch.

V tomto bloku bychom měli nějakým adekvátním způsobem reagovat na chybu. Například, pokud jsme chtěli odeslat nějaká data přes internet a internet nefunguje, v bloku catch se můžeme s situací vyrovnat: lze například zobrazit zprávu uživateli, nebo se po určité době pokusit data odeslat znovu - najednou internet již funguje.

Pokud při provádění bloku try žádné výjimečné situace nenastaly, užitečný kód se jednoduše provede, ale kód z bloku catch - ne.

Jako příklad zkusme parsovat JSON a v případě jeho nekorektnosti vypišme na obrazovku zprávu o tom:

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('nelze provést operaci parsování JSON');
}
Задание 1

Je dán kód, který zapisuje určitý řetězec do lokálního úložiště:

javascriptlet str = 'nějaký řetězec';
localStorage.setItem('key', str);

Obalujte tento kód do konstrukce try-catch. V bloku catch vypište zprávu o přeplnění úložiště. Ověřte funkčnost vašeho kódu pro řetězec o velikosti méně než 5 MB a pro řetězec větší velikosti.

Задание 2

Je dán JSON, uvnitř kterého je uloženo pole. Pokud je tento JSON korektní, vypište prvky pole ve formě seznamu ul. Pokud je JSON nekorektní, vypište na obrazovku zprávu o tom, že na stránce nastala chyba.