⊗jsSpExcAT 144 of 294 menu

Poikkeustyyppien käyttö JavaScriptissä

Oletetaan, että meillä on funktio, joka parametrina vastaanottaa JSON:n taulukon tiedoilla ja kirjoittaa jokaisen sen taulukon alkion paikalliseen tallennustilaan:

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

Tässä funktiossa poikkeustilanne voi syntyä kahdessa kohdassa: JSON:n jäsentämisessä ja tallennettaessa tietoja paikalliseen tallennustilaan.

Oletetaan esimerkiksi, että päätimme käsitellä virheet näyttämällä jonkinlaisen viestin ongelmista:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('joitain ongelmia'); }

Viestimme on tietysti hyvä, mutta se ei mitenkään erottele syntyneitä ongelmia. Olisi loogisempaa näyttää viesti siitä, mikä tarkka ongelma syntyi.

Tehdään tämä erottelemalla syntyneet virheet nimellä:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('tila loppui tallennustilassa'); } if (error.name == 'SyntaxError') { alert('virheellinen JSON'); } }

Kopioi koodi funktiostani saveData, ja toteuta sitten kuvailtuni virheenkäsittely katsomatta koodiini.

Luo tarkoituksella vuorotellen poikkeustilanteita, jotka voivat syntyä funktiossa saveData.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää