At kaste forskellige typer undtagelser i JavaScript
Lad os kaste vores egen undtagelse og se, hvordan et objekt med en fejl vil opføre sig i dette tilfælde:
try {
throw new Error('undtagelsestekst');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'undtagelsestekst'
}
Som du kan se, er typen af vores undtagelse - 'Error'.
Samme type vil være for alle undtagelser, der kastes
på denne måde. Dette vil dog ikke altid
være praktisk, fordi hvis vi kan have
flere undtagelser, vil vi ikke være i stand til at skelne dem
fra hinanden.
JavaScript har en løsning på dette problem:
man kan kaste undtagelser ikke kun af typen
Error, men også af enhver indbygget JavaScript
fejltype, for eksempel TypeError,
SyntaxError, RangeError.
Lad os for eksempel kaste en undtagelse af typen
SyntaxError:
try {
throw new SyntaxError('undtagelsestekst');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'undtagelsestekst'
}
Kast en undtagelse med typen TypeError.
Kast en undtagelse med typen SyntaxError
og RangeError. Fång disse undtagelser
med en enkelt try-blok. I catch-blokken
skal du udskrive forskellige fejlmeddelelser for undtagelser
af forskellige typer.