⊗jsSpExcET 138 of 294 menu

Typer av oppståtte situasjoner i JavaScript

I JavaScript er det svært få situasjoner der unntak oppstår. For det første, rett og slett fordi det er svært få steder de kan oppstå.

For det andre, fordi språket selv er "tilgivende": det ser gjennom fingrene med mange ting, for eksempel divisjon med null eller ugyldig HTML-kode. Selv om du oppgir en feil sti til bildet du prøver å laste inn, vil JavaScript tilgi deg også for det og ikke betrakte det som et unntak.

Imidlertid finnes det unntakssituasjoner. Vi skal se på de to enkleste og bruke dem som eksempel for å lære hvordan unntak håndteres i JavaScript.

Det første unntaket oppstår når vi prøver å parse ugyldig JSON:

let data = JSON.parse('{1,2,3,4,5}'); // denne json-en er ugyldig

Og det andre unntaket oppstår når den lokale lagringsplassen som er tildelt nettsiden vår blir overfylt (mer enn 5 megabyte). La oss kunstig fremkalle et slikt unntak:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // danner en streng på over 5 mb str += '+'; } localStorage.setItem('key', str); // prøver å skrive til lagring

Hvordan reagerer JavaScript på slike unntakssituasjoner? Det skriver rett og slett ut en feil til konsollen og stopper videre kjøring av skriptet.

Vår oppgave som programmerere er å fange opp en slik situasjon og håndtere den på en eller annen måte, uten å la programmet stoppe helt. For dette finnes det en spesiell konstruksjon try-catch, som vi skal se på i de neste leksjonene.

Opprett en streng som er stor nok og prøv å skrive den til den lokale lagringsplassen. Forsikre deg om at det kommer en feil i konsollen.

Prøv å parse ugyldig JSON. Forsikre deg om at det kommer en feil i konsollen.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis