Soorten voorkomende situaties in JavaScript
In JavaScript zijn er zeer weinig situaties waarin er uitzonderingen optreden. Ten eerste, simpelweg omdat er zeer weinig plekken zijn waar ze kunnen ontstaan.
Ten tweede, omdat de taal zelf "vergevingsgezind" is: het kijkt voor veel dingen door de vingers, bijvoorbeeld, voor delen door nul of voor incorrecte HTML code. Zelfs als je een verkeerd pad opgeeft naar een afbeelding die je wilt laden, zal JavaScript het je vergeven en niet als een uitzondering beschouwen.
Er zijn echter wel uitzonderlijke situaties. We bespreken twee van de eenvoudigste en gebruiken ze als voorbeeld om te leren werken met uitzonderingen in JavaScript.
De eerste uitzondering treedt op wanneer we incorrecte JSON willen parseren:
let data = JSON.parse('{1,2,3,4,5}'); // deze json is incorrect
En de tweede uitzondering treedt op wanneer de lokale
opslag, toegewezen aan onze website, vol is
(meer dan 5 megabyte). Laten we kunstmatig
zo'n uitzondering veroorzaken:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // vormen een string van meer dan 5 mb
str += '+';
}
localStorage.setItem('key', str); // proberen op te slaan in de opslag
Hoe reageert JavaScript op dergelijke uitzonderlijke situaties? Het dumpt simpelweg een foutmelding in de console en stopt de verdere uitvoering van het script.
Onze taak, als programmeurs, is om
zo'n situatie op te vangen en er op de een of andere manier
mee om te gaan, zonder het programma helemaal te laten stoppen
met uitvoeren. Hiervoor
bestaat een speciale constructie try-catch,
die we in de volgende lessen zullen bespreken.
Maak een string van voldoende grote omvang en probeer deze op te slaan in de lokale opslag. Zorg dat je ziet dat er een foutmelding in de console komt.
Probeer incorrecte JSON te parseren. Zorg dat je ziet dat er een foutmelding in de console komt.