⊗jsSpExcCt 139 of 294 menu

Zachycování výjimek v JavaScriptu

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

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

try { let data = JSON.parse('{1,2,3,4,5}'); } catch (error) { alert('nelze provést operaci parsování JSON'); }

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

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

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.

idfrdaazde