Håndtering av unntak i JavaScript
For å håndtere unntak brukes
konstruksjonen try-catch. Den har
følgende syntaks:
try {
// kode
} catch (error) {
// feilhåndtering
}
I try-blokken skal du plassere koden
som kan inneholde et unntak. Hvis
det oppstår en unntakssituasjon under
utførelsen av denne koden, vil ikke
scriptet ditt krasje med en feil i
konsollen, men koden i catch-blokken
vil begynne å kjøre.
I denne blokken bør vi reagere på en
fornuftig måte på feilen. For eksempel,
hvis vi prøvde å sende noe data
over internett og internettet ikke fungerer,
kan vi håndtere situasjonen i
catch-blokken: vi kan for eksempel vise en melding
til brukeren, eller vi kan prøve å
sende dataene på nytt etter en stund - i
tilfelle internettet fungerer igjen.
Hvis det ikke oppstår noen unntakssituasjoner
under utførelsen av try-blokken, vil
den nyttige koden bare bli utført, mens koden fra
catch-blokken ikke vil kjøre.
La oss for eksempel prøve å analysere JSON og i tilfelle den er ugyldig, vise en melding om dette:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('Kan ikke utføre JSON-analysen');
}
Du får kode som lagrer en bestemt streng i lokal lagring:
let str = 'en bestemt streng';
localStorage.setItem('key', str);
Pakken inn denne koden i en try-catch-
konstruksjon.
I catch-blokken skal du vise en melding om
at lagringen er full. Test koden din
med en streng mindre enn 5
MB og med en streng som er større.
Du får JSON, som inneholder en matrise.
Hvis JSON-en er gyldig, skal du vise elementene
i matrisen som en ul-liste. Hvis
JSON-en ikke er gyldig, skal du vise en melding
om at det oppstod en feil på siden.