⊗jsSpExcET 138 of 294 menu

Typy výnimkových situácií v JavaScripte

V JavaScripte je veľmi málo situácií, v ktorých nastávajú výnimky. Po prvé, jednoducho preto, že je veľmi málo miest, kde k nim môže dôjsť.

Po druhé, pretože samotný jazyk je "veľmi zhovievavý": na veľa vecí prihliada, napríklad na delenie nulou alebo na nekorektný HTML kód. Aj keď zadáte nesprávnu cestu k obrázku, ktorý sa chystáte načítať, JavaScript vám to odpustí a nepovažuje to za výnimku.

Avšak, výnimkové situácie existujú. My si rozoberieme dve najjednoduchšie a na ich príklade naštudujeme prácu s výnimkami v JavaScripte.

Prvá výnimka nastáva, keď chceme parsovať nekorektný JSON:

let data = JSON.parse('{1,2,3,4,5}'); // tento json je nekorektný

A druhá výnimka nastáva, keď sa lokálne úložisko pridelené pre našu stránku preplní (viac ako 5 megabajtov). Umelo vyvolajme takúto výnimku:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // vytvoríme reťazec väčší ako 5 MB str += '+'; } localStorage.setItem('key', str); // pokúsime sa zapísať do úložiska

Ako JavaScript reaguje na takéto výnimkové situácie? Jednoducho vypíše chybu do konzoly a zastaví ďalšie vykonávanie skriptu.

Našou úlohou ako programátorov je zachytiť takúto situáciu a nejako sa s ňou vyrovnať, bez toho, aby sa program úplne zastavil. Na to existuje špeciálna konštrukcia try-catch, ktorú si rozoberieme v nasledujúcich lekciách.

Vytvorte reťazec dostatočne veľkej veľkosti a pokúste sa ho zapísať do lokálneho úložiska. Presvedčte sa o tom, že v konzole bude chyba.

Pokúste sa sparsovať nekorektný JSON. Presvedčte sa o tom, že v konzole bude chyba.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť