Håndtering av unntak i JavaScript

For å håndtere unntak brukes konstruksjonen try-catch. Den har følgende syntaks:

javascripttry {
  // 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:

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

Du får kode som lagrer en bestemt streng i lokal lagring:

javascriptlet 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.

Задание 2

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.