⊗jsSpExcET 138 of 294 menu

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.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa