Typer av exceptionsituationer i JavaScript

I JavaScript är det mycket få situationer där exception uppstår. För det första, helt enkelt för att det är mycket få platser där de kan uppstå.

För det andra, för att själva språket är "förlåtande": det ser genom fingrarna med mycket, till exempel division med noll eller felaktig HTML-kod. Även om du anger en felaktig sökväg till en bild du tänker ladda upp, kommer JavaScript att förlåta dig även det och inte betrakta det som ett exception.

Men det finns exceptionsituationer. Vi kommer att gå igenom de två enklaste och använda dem som exempel för att lära oss hur man hanterar exception i JavaScript.

Det första exceptionet uppstår när vi vill parsa felaktig JSON:

javascriptlet data = JSON.parse('{1,2,3,4,5}'); // denna json är felaktig

Och det andra exceptionet uppstår när det lokala lagringsutrymmet som tilldelats vår webbplats är fullt (mer än 5 megabyte). Låt oss artificiellt framkalla ett sådant exception:

javascriptlet str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // skapar en sträng på mer än 5 mb
  str += '+';
}

localStorage.setItem('key', str); // försöker skriva till lagringen

Hur reagerar JavaScript på sådana exceptionsituationer? Det skriver helt enkelt ut ett fel i konsolen och avbryter den fortsatta exekveringen av skriptet.

Vår uppgift som programmerare är att fånga upp en sådan situation och på något sätt hantera den, utan att låta programmet helt sluta att köra. För detta finns en speciell konstruktion try-catch, som vi kommer att gå igenom i de följande lektionerna.

Задание 1

Skapa en sträng som är tillräckligt stor och försök skriva den till det lokala lagringsutrymmet. Se till att ett fel visas i konsolen.

Задание 2

Försök att parsa felaktig JSON. Se till att ett fel visas i konsolen.