⊗jsSpExcAT 144 of 294 menu

Aplikácia typov výnimiek v JavaScripte

Majme funkciu, ktorá ako parameter prijíma JSON s poľom údajov a každý prvok tohto poľa zapíše do lokálneho úložiska:

function saveData(json) { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } }

V tejto funkcii môže výnimočná situácia nastať na dvoch miestach: pri analýze JSON a pri pokuse o uloženie údajov do lokálneho úložiska.

Povedzme, že ako spracovanie chýb sme sa rozhodli zobraziť nejakú správu o problémoch:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('nejaké problémy'); }

Naša správa je síce dobrá, ale vôbec nerozlišuje vzniknuté problémy. Logickejšie by bolo zobraziť správu o tom, aký konkrétny problém nastal.

Na to rozlíšime vzniknuté chyby podľa mena:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('minulo sa miesto v úložisku'); } if (error.name == 'SyntaxError') { alert('nekorektný JSON'); } }

Skopírujte kód mojej funkcie saveData, a potom nehľadiac do môjho kódu implementujte popísané spracovanie chýb.

Zámerne postupne vytvorte výnimočné situácie, ktoré môžu nastať vo funkcii saveData.

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ť