Het gooien van verschillende soorten uitzonderingen in JavaScript
Laten we onze eigen uitzondering gooien en kijken, hoe het object met een fout zich in dit geval zal gedragen:
try {
throw new Error('tekst van de uitzondering');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'tekst van de uitzondering'
}
Zoals je ziet, het type van onze uitzondering is 'Error'.
Hetzelfde type zal gelden voor alle uitzonderingen die op een
soortgelijke manier zijn gegooid. Dit is echter niet altijd
handig, omdat we, als we meerdere uitzonderingen kunnen hebben,
ze niet van elkaar kunnen onderscheiden.
JavaScript biedt een oplossing voor dit probleem:
je kunt niet alleen uitzonderingen van het type
Error gooien, maar ook van elk ingebouwd JavaScript
fouttype, bijvoorbeeld TypeError,
SyntaxError, RangeError.
Laten we als voorbeeld een uitzondering van het type
SyntaxError gooien:
try {
throw new SyntaxError('tekst van de uitzondering');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'tekst van de uitzondering'
}
Gooi een uitzondering met het type TypeError.
Gooi een uitzondering met het type SyntaxError
en RangeError. Vang deze uitzonderingen
op met één try blok. In het catch blok
geef je verschillende foutmeldingen weer voor uitzonderingen
van verschillende types.