fouten worden gegooid door de engine, en uitzonderingen worden gegooid door de ontwikkelaar. Maar wat betekent dat precies? In JavaScript zijn alle uitzonderingen gewoon objecten. Hoewel de meeste uitzonderingen implementaties van de Globale Foutklasse zijn, kan elk oud object worden gegooid. Met dit in gedachten, zijn er twee manieren om een uitzondering te gooien: direct via een Error object, en via een aangepast object.,
Generieke uitzonderingen
hoewel de ingebouwde Foutklasse vrij goed gedefinieerd is-inclusief zaken als de bestandsnaam, regelnummer en stack trace om er een paar te noemen—als het erop aankomt, is het belangrijkste om op te merken het bericht. De eerste—en vaak enige-parameter die wordt doorgegeven tijdens Foutstantiatie, het bericht is een leesbare fout die vaak direct kan worden gerelateerd aan de eindgebruiker. Het gooien van een generieke uitzondering is bijna zo simpel als het klinkt., Alles wat nodig is om een uitzondering object instantiate-met de eerste parameter van de fout constructor is de foutmelding-en dan… “gooien” het.
throw new Error('Exception message');
fout.code vs. fout.message
het is belangrijk om hier op te merken dat, terwijl de foutmelding de voor mensen leesbare foutgegevens is, Node.js biedt ook een foutcode die het soort fout dat wordt gegooid identificeert. Deze waarde is nuttig omdat het u in staat stelt om programmatisch aan te passen aan fouten die kunnen worden gegooid, ongeacht het bericht in de fout.,
hoewel foutcodes over het algemeen worden gebruikt voor systeemfouten, kan bij het maken van aangepaste fouten door de foutklasse uit te breiden (zie aangepaste uitzonderingen hieronder voor meer details), een aangepaste code worden gedefinieerd en gebruikt voor meer gestructureerde foutdefinities.
aangepaste uitzonderingen
hoewel het mogelijk is om een object te gooien, is het het beste om het Foutobject uit te breiden met een nieuwe klasse. In omgevingen die dit ondersteunen, maakt dit het mogelijk om functies zoals de automatische stack trace op te nemen in het antwoord op de uitzondering, wat cruciaal kan zijn als het gaat om het diagnosticeren van problemen later op de lijn.,
met een aangepast exception object gemaakt, alles wat we moeten doen is gooien het als elke andere fout:
throw new CustomException('Exception message');
een ander groot voordeel voor het uitbreiden van het Error object, in plaats van het gooien van een generieke fout, is dat extra metadata kunnen worden opgenomen met de fout en later opgehaald. Dit kan ongelooflijk waardevol zijn bij het debuggen en foutrapportage, omdat soms een platte tekstbericht gewoon niet genoeg is. U kunt bijvoorbeeld de waarden van lokale variabelen of status opnemen die u kunnen helpen het probleem te debuggen.,
function CustomException(message, metadata) { const error = new Error(message); error.metadata = metadata; return error;}
buiten de gegevens die in het Foutobject zijn opgenomen, worden bij gebruik van de Rollbar notifier voor JavaScript ook aanvullende gegevens bij het rapport gevoegd. Dit omvat contextuele informatie zoals de browser en de gebruiker.
// Caught errorstry { doSomething();} catch (e) { Rollbar.error("Something went wrong", e);}
schrijven naar de console
In JavaScript, de console is waar alle logs kunnen worden gevonden (meer hierover in waar zijn JavaScript fouten gelogd?). Gelukkig, eigenlijk het schrijven van gegevens naar de console is ongelooflijk eenvoudig. Om dit te bereiken, gewoon bellen met de console.,log () methode, met het bericht dat u wilt schrijven naar de log.
console.log("Top level");
Leave a Reply