Typy vzniklých situací v JavaScriptu
V JavaScriptu je velmi málo situací, ve kterých vznikají výjimky. Zaprvé proto, že je tam velmi málo míst pro jejich vznik.
Zadruhé proto, že samotný jazyk je "všepromíjející": na mnoho věcí přivírá oči, například na dělení nulou nebo na nekorektní HTML kód. Dokonce i když uvedete nesprávnou cestu k obrázku, který se chystáte načíst, JavaScript vám to odpustí a nebude to považovat za výjimku.
Přesto však výjimečné situace existují. Rozebereme dvě nejjednodušší a na jejich příkladu prostudujeme práci s výjimkami v JavaScriptu.
První výjimka vzniká, když chceme parsovat nekorektní JSON:
let data = JSON.parse('{1,2,3,4,5}'); // tento json je nekorektní
A druhá výjimka vzniká, když je lokální
úložiště přidělené pro náš web přeplněno
(více než 5 megabajtů). Uměle
vyvolejme takovou výjimku:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // vytváříme řetězec o velikosti přes 5 MB
str += '+';
}
localStorage.setItem('key', str); // pokoušíme se zapsat do úložiště
Jak JavaScript reaguje na takové výjimečné situace? Jednoduše vypíše chybu do konzole a zastaví další provádění skriptu.
Naším úkolem jako programátorů je
takovou situaci zachytit a nějak se s ní
vyrovnat, aniž bychom programu zcela
zastavili jeho provádění. K tomu
slouží speciální konstrukce try-catch,
kterou probereme v následujících lekcích.
Vytvořte řetězec dostatečně velké velikosti a pokuste se jej zapsat do lokálního úložiště. Přesvědčte se, že v konzoli bude chyba.
Pokuste se parsovat nekorektní JSON. Přesvědčte se, že v konzoli bude chyba.