⊗jsSpExcET 138 of 294 menu

Typer af exceptionelle situationer i JavaScript

I JavaScript er der meget få situationer, hvor undtagelser opstår. For det første simpelthen fordi, der er meget få steder, hvor de kan opstå.

For det andet fordi selve sproget er "overbærende": det ser gennem fingre med mange ting, for eksempel division med nul eller ukorrekt HTML-kode. Selv hvis du angiver en forkert sti til det billede, du vil indlæse, vil JavaScript tilgive dig også det og ikke betragte det som en undtagelse.

Der er dog exceptionelle situationer. Vi vil gennemgå to af de enkleste og bruge dem som eksempel til at studere håndtering af undtagelser i JavaScript.

Den første undtagelse opstår, når vi ønsker at parse ukorrekt JSON:

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

Og den anden undtagelse opstår, når den lokale opbevaring, der er tildelt vores hjemmeside, bliver overfyldt (mere end 5 megabyte). Lad os kunstigt fremkalde en sådan undtagelse:

let str = ''; for (let i = 1; i <= 6 * 10 ** 6; i++) { // dan en streng på mere end 5 mb str += '+'; } localStorage.setItem('key', str); // forsøg at skrive til opbevaringen

Hvordan reagerer JavaScript på sådanne exceptionelle situationer? Det udskriver simpelthen en fejl i konsollen og stopper den videre udførelse af scriptet.

Vores opgave som programmører består i at fange en sådan situation og på en eller anden måde håndtere den, uden at lade programmet helt stoppe sin udførelse. Til dette findes der en speciel konstruktion try-catch, som vi vil gennemgå i de næste lektioner.

Opret en streng af en tilstrækkelig stor størrelse og forsøg at skrive den til den lokale opbevaring. Vær sikker på, at der vil være en fejl i konsollen.

Forsøg at parse ukorrekt JSON. Vær sikker på, at der vil være en fejl i konsollen.

azfrkkhytr