Undtagelseshåndtering i JavaScript

Til at håndtere undtagelser bruges konstruktionen try-catch. Den har følgende syntaks:

javascripttry {
  // kode
} catch (error) {
  // fejlhåndtering
}

I try-blokken skal man placere koden, som kan indeholde en undtagelse. Hvis der opstår en undtagelsessituation under udførelsen af denne kode, vil vores script ikke gå ned med en fejl i konsollen, men i stedet vil koden i catch-blokken blive udført.

I denne blok skal vi reagere på fejlen på en passende måde. For eksempel, hvis vi prøvede at sende data over internettet og internettet ikke virker, kan vi i catch- blokken håndtere situationen: man kan for eksempel vise en besked til brugeren, eller man kan prøve at sende dataene igen efter et stykke tid - måske virker internettet så.

Hvis der ikke opstod nogen undtagelsessituationer during udførelsen af try- blokken, vil den nyttige kode bare blive udført, mens koden fra catch- blokken ikke vil.

Lad os som eksempel prøve at parse JSON og i tilfælde af at den er ugyldig, vise en besked om dette:

javascripttry {
  let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
  alert('Kan ikke udføre JSON-parsning');
}
Задание 1

Der gives kode, som gemmer en bestemt streng i lokal lagring:

javascriptlet str = 'en eller anden streng';
localStorage.setItem('key', str);

Indpak denne kode i en try-catch- konstruktion. I catch- blokken skal du vise en besked om at lagringen er fuld. Test din kode med en streng på mindre end 5 MB og med en streng på en størrelse derover.

Задание 2

Der gives JSON, inde i hvilken der gemmes et array. Hvis denne JSON er korrekt, så udskriv elementerne i arrayet som en ul-liste. Hvis JSON ikke er korrekt, vis en besked om at der er opstået en fejl på siden.