Undtagelseshåndtering i JavaScript
Til at håndtere undtagelser bruges
konstruktionen try-catch. Den har
følgende syntaks:
try {
// 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:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('Kan ikke udføre JSON-parsning');
}
Der gives kode, som gemmer en bestemt streng i lokal lagring:
let 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.
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.