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:
let 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:
let 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.
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.
Försök att parsa felaktig JSON. Se till att ett fel visas i konsolen.