Tillämpning av undantagstyper i JavaScript
Låt oss säga att vi har en funktion som tar emot JSON med en array av data som parameter och skriver varje element i denna array till lokal lagring:
function saveData(json) {
let arr = JSON.parse(json);
for (let i = 0; i < arr.length; i++) {
localStorage.setItem(i, arr[i]);
}
}
I denna funktion kan exceptionsituationer uppstå på två ställen: vid analys av JSON och vid försök att spara data i den lokala lagringen.
Låt oss, till exempel, som felhantering besluta att visa ett visst meddelande om problem:
try {
saveData('{1,2,3,4,5}');
} catch (error) {
alert('några problem');
}
Vårt meddelande är naturligtvis bra, men det differentierar inte på de uppstådda problemen. Det vore mer logiskt att visa ett meddelande om vilket specifikt problem som uppstod.
För att göra detta, låt oss särskilja de uppstådda felen efter namn:
try {
saveData('{1,2,3,4,5}');
} catch (error) {
if (error.name == 'QuotaExceededError') {
alert('slut på plats i lagringen');
}
if (error.name == 'SyntaxError') {
alert('ogiltig JSON');
}
}
Kopiera koden för min funktion saveData,
och implementera sedan utan att kolla på min kod
den felhantering jag beskrivit.
Skapa medvetet, en i taget, exceptionsituationer
som kan uppstå i funktionen
saveData.