⊗jsSpExcThr 145 of 294 menu

Exceptions gooien in JavaScript

In eerdere lessen hebben we twee plaatsen bestudeerd waar JavaScript een uitzondering gooit bij problemen.

In jouw project kunnen er echter andere situaties zijn die voor jou uitzonderlijk zijn, maar voor JavaScript niet. In dat geval kun je je eigen, aangepaste uitzonderingen maken en gooien.

Laten we de syntax bekijken die hiervoor nodig is. Om te beginnen moet de uitzondering gemaakt worden met het commando new Error, waarbij je de tekst van de uitzondering als parameter doorgeeft:

new Error('tekst van de uitzondering');

Vervolgens moet deze uitzondering gegooid worden met het commando throw:

throw new Error('tekst van de uitzondering');

Het gooien van een uitzondering zorgt ervoor dat JavaScript ervaart dat er een uitzonderlijke situatie is opgetreden. Dit betekent dat zo'n uitzondering opgevangen kan worden met de constructie try-catch en op de gewenste manier verwerkt kan worden.

Laten we met een voorbeeld bekijken hoe we dit kunnen gebruiken. Stel we hebben een functie die het ene getal door het andere deelt:

function div(a, b) { return a / b; }

Laten we ervan uitgaan dat delen door nul verboden is en dat bij een poging daartoe een uitzonderlijke situatie moet ontstaan. Hiervoor controleren we in de functie of er geen poging is om door 0 te delen. Zo niet - dan delen we, zo ja - dan gooien we een uitzondering:

function div(a, b) { if (b !== 0) { return a / b; } else { throw new Error('delen door nul fout'); } }

Laten we om te beginnen gewoon proberen te delen door 0, zonder de uitzondering op te vangen:

alert( div(3, 0) );

In dit geval wordt de uitvoering van het script afgebroken en verschijnt er een foutmelding in de console met de tekst 'delen door nul fout' (controleer dit). Laten we nu onze fout opvangen en op een bepaalde manier verwerken:

try { alert( div(3, 0) ); } catch (error) { alert('je probeert te delen door 0, wat verboden is'); }

In JavaScript leidt een poging om de wortel uit een negatief getal te trekken niet tot het gooien van een uitzondering:

let result = Math.sqrt(-1); console.log(result); // geeft NaN weer

Schrijf je eigen functie die de wortel uit een getal trekt en daarbij een uitzondering gooit, als de wortel uit een negatief getal getrokken wordt.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren