⊗jsSpExcCt 139 of 294 menu

Ausnahmebehandlung in JavaScript

Zum Abfangen von Ausnahmen wird die Konstruktion try-catch verwendet. Sie hat die folgende Syntax:

try { // Code } catch (error) { // Fehlerbehandlung }

Im Block try sollte der Code platziert werden, der eine Ausnahme enthalten könnte. Wenn bei der Ausführung dieses Codes tatsächlich eine Ausnahmesituation auftritt, bricht unser Skript nicht mit einem Fehler in der Konsole ab, sondern der Code im Block catch wird ausgeführt.

In diesem Block sollten wir auf angemessene Weise auf den Fehler reagieren. Zum Beispiel, wenn wir Daten über das Internet senden wollten und das Internet nicht funktioniert, können wir uns im Block catch irgendwie mit der Situation behelfen: Man kann beispielsweise eine Meldung für den Benutzer ausgeben, oder man kann versuchen, die Daten nach einer Weile erneut zu senden - vielleicht funktioniert das Internet ja wieder.

Wenn bei der Ausführung des Blocks try keine Ausnahmesituationen aufgetreten sind, wird der nützliche Code einfach ausgeführt, und der Code aus dem Block catch wird übersprungen.

Versuchen wir als Beispiel, JSON zu parsen und im Falle seiner Ungültigkeit eine Meldung darüber auf dem Bildschirm auszugeben:

try { let data = JSON.parse('{1,2,3,4,5}'); } catch (error) { alert('JSON-Parsing-Operation kann nicht ausgeführt werden'); }

Gegeben ist Code, der einen bestimmten String in den Local Storage schreibt:

let str = 'irgendein String'; localStorage.setItem('key', str);

Wickeln Sie diesen Code in die Konstruktion try-catch ein. Geben Sie im Block catch eine Meldung über die Speicherüberfüllung aus. Überprüfen Sie die Funktionsweise Ihres Codes für einen String mit einer Größe von weniger als 5 MB und für einen String mit einer größeren Größe.

Gegeben ist ein JSON, in dem ein Array gespeichert ist. Wenn dieses JSON korrekt ist, geben Sie die Elemente des Arrays als Liste ul aus. Wenn das JSON jedoch nicht korrekt ist, geben Sie eine Meldung auf dem Bildschirm aus, dass auf der Seite ein Fehler aufgetreten ist.

uzhuidazit