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.