Att kasta olika typer av undantag i JavaScript
Låt oss kasta vårt eget undantag och se hur objektet med fel kommer att bete sig i detta fall:
try {
throw new Error('undantagstext');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'undantagstext'
}
Som du ser är typen av vårt undantag - 'Error'.
Samma typ kommer att gälla för alla undantag som kastas
på liknande sätt. Detta kommer dock inte alltid
att vara praktiskt, eftersom vi, om vi kan ha
flera undantag, inte kommer att kunna skilja dem
åt.
JavaScript har en lösning på detta problem:
man kan kasta undantag inte bara av typen
Error, utan även av alla inbyggda JavaScript
feltyper, till exempel TypeError,
SyntaxError, RangeError.
Låt oss som exempel kasta ett undantag av typen
SyntaxError:
try {
throw new SyntaxError('undantagstext');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'undantagstext'
}
Kasta ett undantag av typen TypeError.
Kasta undantag av typerna SyntaxError
och RangeError. Fånga dessa undantag
med ett enda try-block. I catch-blocket
skriver du ut olika felmeddelanden för undantag
av olika typer.