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.