⊗jsSpExcThrT 146 of 294 menu

Lançando diferentes tipos de exceções em JavaScript

Vamos lançar nossa própria exceção e ver como o objeto de erro se comportará neste caso:

try { throw new Error('texto da exceção'); } catch (error) { console.log(error.name); // 'Error' console.log(error.message); // 'texto da exceção' }

Como você pode ver, o tipo da nossa exceção é 'Error'. O mesmo tipo será para quaisquer exceções lançadas dessa maneira. No entanto, isso nem sempre será conveniente, pois, se pudermos ter várias exceções, não seremos capazes de diferenciá-las umas das outras.

JavaScript fornece uma solução para este problema: é possível lançar exceções não apenas do tipo Error, mas também de qualquer tipo de erro integrado ao JavaScript, por exemplo, TypeError, SyntaxError, RangeError.

Vamos, por exemplo, lançar uma exceção do tipo SyntaxError:

try { throw new SyntaxError('texto da exceção'); } catch (error) { console.log(error.name); // 'SyntaxError' console.log(error.message); // 'texto da exceção' }

Lance uma exceção do tipo TypeError.

Lance uma exceção do tipo SyntaxError e RangeError. Capture essas exceções usando um único bloco try. No bloco catch exiba mensagens de erro diferentes para exceções de tipos diferentes.

kktrptrofr