⊗jsSpExcAT 144 of 294 menu

Toepassing van uitzonderingstypen in JavaScript

Stel dat we een functie hebben die een JSON met een array van gegevens als parameter accepteert en elk element van deze array in de lokale opslag schrijft:

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

In deze functie kan een uitzonderlijke situatie op twee plaatsen voorkomen: bij het parseren van de JSON en bij de poging om gegevens in de lokale opslag op te slaan.

Stel dat we, bijvoorbeeld, als foutafhandeling besloten hebben om een bepaalde melding over de problemen weer te geven:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('een of andere problemen'); }

Onze melding is natuurlijk mooi, maar het differentieert de ontstane problemen op geen enkele manier. Het zou logischer zijn om een melding weer te geven over welk specifiek probleem zich heeft voorgedaan.

Om dit te doen, onderscheiden we de ontstane fouten op naam:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('geen ruimte meer in de opslag'); } if (error.name == 'SyntaxError') { alert('ongeldige JSON'); } }

Kopieer de code van mijn functie saveData, en implementeer vervolgens zonder in mijn code te spieken de door mij beschreven foutafhandeling.

Creëer specifiek om de beurt uitzonderlijke situaties die kunnen voorkomen in de functie saveData.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren