Abfangen von Ausnahmen in verschachteltem Code in JavaScript
Die Besonderheit und der Vorteil von Ausnahmen liegt darin, dass sie auf jeder Verschachtelungsebene des Codes abgefangen werden können. Sehen wir uns ein Beispiel an. Angenommen, wir haben eine Funktion, die Daten im lokalen Speicher speichert:
function save(str) {
localStorage.setItem('key', str);
}
Wie Sie bereits wissen, wirft die Methode setItem eine Ausnahme,
wenn der Speicher überläuft.
Es ist jedoch nicht zwingend erforderlich, diese Ausnahme
innerhalb der Funktion save abzufangen.
Man kann jeden Aufruf der Funktion selbst in
try einwickeln:
try {
save('irgendein String');
} catch (error) {
alert('Der Speicherplatz im lokalen Speicher ist aufgebraucht!');
}
Gegeben ist eine Funktion, die JSON in ein Array umwandelt:
function getArr(json) {
return JSON.parse(json);
}
Im folgenden Code wird aus JSON ein Array erhalten:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Wickeln Sie den Funktionsaufruf in die Konstruktion try-catch ein.