Lever différentes types d'exceptions en JavaScript
Lançons notre propre exception et observons comment se comporte l'objet d'erreur dans ce cas :
try {
throw new Error('texte de l\'exception');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'texte de l\'exception'
}
Comme vous le voyez, le type de notre exception est 'Error'.
Ce sera le même type pour toutes les exceptions levées
de cette manière. Cependant, ce n'est pas toujours
pratique, car si nous pouvons avoir
plusieurs exceptions, nous ne pourrons pas les distinguer
les unes des autres.
JavaScript propose une solution à ce problème :
on peut lever des exceptions non seulement de type
Error, mais aussi de n'importe quel type d'erreur
intégré à JavaScript, par exemple TypeError,
SyntaxError, RangeError.
Pour l'exemple, lançons une exception de type
SyntaxError :
try {
throw new SyntaxError('texte de l\'exception');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'texte de l\'exception'
}
Lancez une exception de type TypeError.
Lancez une exception de type SyntaxError
et RangeError. Attrapez ces exceptions
avec un seul bloc try. Dans le bloc catch,
affichez différents messages d'erreur pour les exceptions
de types différents.