Classe Error
Erro no JavaScript é uma classe.
Através da classe Error podemos gerar nossos próprios erros de forma dinâmica e customizá-los.
Há duas formas de trabalhar com a classe Error:
- Podemos instânciar a classe Error. Permite customizar a mensagem de erro e lançá-lo com a palavra reservada throw.
- Podemos estender a classe Error. Isso permite ter um controle maior, criar erros mais dinâmicos, mais ricos de informação. Permite customizar a mensagem de erro, criar novas propriedades, criar consições, etc.
// Criando o erro (instânciando a classe do erro)
const myError = new Error('throwing error...');
myError.name = 'Name of Error';
// Lançando o erro
throw myError;
Tipos de erros além do construtor genérico
Existem outros seis construtores principais de erro:- EvalError Cria uma instância representando um erro que ocorre na função global. eval().
- InternalError (Non-Standard) Cria uma instância representando um erro que ocorre quando um erro interno na engine do JavaScript é lançado. Ex: "too much recursion".
- RangeError Cria uma instância representando um erro que ocorre quando um valor ou parâmetro numérico está fora de seus limites válidos.
- ReferenceError Cria uma instância representando um erro que ocorre ao de-referenciar uma referência inválida.
- SyntaxError Cria uma instância representando um erro que ocorre ao fazer o parse do código em eval().
- TypeError Cria uma instância representando um erro que ocorre quando uma variável ou parâmetro não é de um tipo válido.
- URIError Cria uma instância representando um erro que ocorre quando são passados parâmetros inválidos para encodeURI() ou decodeURI().