⊗jsSpExcAT 144 of 294 menu

Išimčių tipų panaudojimas JavaScript

Tarkime, turime funkciją, kuri parametru priima JSON su duomenų masyvu ir įrašo kiekvieną šio masyvo elementą į vietinę saugyklą:

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

Šioje funkcijoje išimtinė situacija gali atsirasti dviejose vietose: analizuojant JSON ir bandant išsaugoti duomenis į vietinę saugyklą.

Tarkime, pavyzdžiui, kaip klaidų apdorojimą nusprendėme rodyti tam tikrą pranešimą apie problemą:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('kažkokios problemos'); }

Mūsų pranešimas, žinoma, yra gerai, bet jis jokiu būdu neišskiria kilusių problemų. Logiškiau būtų rodyti pranešimą apie tai, kokia konkrečiai problema atsirado.

Norėdami tai pasiekti, atskirkime kilusias klaidas pagal pavadinimą:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('pasibaigė vieta saugykloje'); } if (error.name == 'SyntaxError') { alert('neteisingas JSON'); } }

Nukopijuokite mano funkcijos saveData kodą, o tada nepažiūrėdami į mano kodą įgyvendinkite mano aprašytą klaidų apdorojimą.

Sąmoningai paeiliui sukurkite išimlines situacijas, kurios gali atsirasti funkcijoje saveData.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti