⊗jsSpExcET 138 of 294 menu

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.

trazhibypl