Zachytávanie výnimiek v JavaScript
Na zachytávanie výnimiek sa používa
konštrukcia try-catch. Má nasledujúcu
syntax:
try {
// kód
} catch (error) {
// spracovanie chyby
}
V bloku try by mal byť umiestnený kód,
ktorý môže obsahovať výnimku. Ak
pri vykonávaní tohto kódu dôjde
k výnimočnej situácii, náš skript
nespadne s chybou v konzole, ale začne sa vykonávať
kód bloku catch.
V tomto bloku by sme mali nejakým adekvátnym
spôsobom reagovať na chybu. Napríklad,
ak sme chceli odoslať nejaké dáta
cez internet a internet nefunguje, v
bloku catch sa môžeme nejako vyrovnať
s situáciou: môžeme napríklad zobraziť správu
používateľovi, alebo môžeme po určitom čase
skúsiť odoslať dáta znova - možno
internet už funguje.
Ak sa pri vykonávaní bloku try žiadne
výnimočné situácie nevyskytli, tak
užitočný kód sa jednoducho vykoná, a kód z
bloku catch - nie.
Pre príklad skúsme parsovať JSON a v prípade jeho nekorektnosti vypíšme správu o tom:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('Nie je možné vykonať operáciu parsovania JSON');
}
Daný kód, ktorý zapisuje nejaký reťazec do lokálneho úložiska:
let str = 'nejaký reťazec';
localStorage.setItem('key', str);
Obalte tento kód do konštrukcie try-catch.
V bloku catch zobrazte správu o
pretečení úložiska. Skontrolujte fungovanie
vášho kódu pre reťazec s veľkosťou menšou ako 5
MB a pre reťazec s väčšou veľkosťou.
Daný JSON, v ktorom je uložené pole.
Ak je tento JSON korektný, vypíšte prvky
pola vo forme zoznamu ul. Ak je
JSON nekorektný, zobrazte na obrazovke správu
o tom, že na stránke došlo k chybe.