Lanzamiento de diferentes tipos de excepciones en JavaScript
Lancemos nuestra propia excepción y veamos cómo se comportará el objeto de error en este caso:
try {
throw new Error('texto de la excepción');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'texto de la excepción'
}
Como puedes ver, el tipo de nuestra excepción es 'Error'.
El mismo tipo tendrán todas las excepciones lanzadas
de esta manera. Sin embargo, esto no siempre
será conveniente, ya que, si podemos tener
varias excepciones, no podremos distinguirlas
unas de otras.
JavaScript proporciona una solución a este problema:
se pueden lanzar excepciones no solo del tipo
Error, sino también de cualquier tipo de error
integrado en JavaScript, por ejemplo, TypeError,
SyntaxError, RangeError.
Como ejemplo, lancemos una excepción del tipo
SyntaxError:
try {
throw new SyntaxError('texto de la excepción');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'texto de la excepción'
}
Lance una excepción del tipo TypeError.
Lance una excepción del tipo SyntaxError
y RangeError. Capture estas excepciones
con un solo bloque try. En el bloque catch
muestre diferentes mensajes de error para excepciones
de diferentes tipos.