Introdução aos erros no JavaScript
Vamos começar a discutir com o que “erro” significa em uma linguagem de programação, especialmente em JavaScript. Um erro pode ser definido como um erro, uma declaração incorreta, uma interpretação incorreta ou uma falha, mas essa definição não é exatamente correta ao desenvolver um programa. Na programação, um erro é uma seção ou parte do código que interrompe o fluxo normal do programa. Em qualquer linguagem de programação, geralmente existem três tipos de erros que podemos enfrentar,
- Erros de tempo de compilação
- Erros lógicos
- Erros em tempo de execução.
Muitas vezes sentimos medo quando enfrentamos algum tipo de erro, mas os erros são bons porque aprendemos como não fazer algo e como fazê-lo melhor da próxima vez.
Em JavaScript, se o script gerar um erro, o interpretador JavaScript interromperá a execução do programa nesse instante e exibirá esse erro no console do navegador, juntamente com o erro e o número da linha em que ocorreu no arquivo. A única maneira de depurar nosso JavaScript é utilizando os erros e avisos da melhor maneira possível e encontrando o motivo por trás disso.
Tipos de erros no JavaScript
Um erro pode ou não ser fatal para a nossa aplicação, dependendo do tipo de erro que enfrentamos. Existem seis tipos de erros que geralmente ocorrem no JavaScript -
- Erro de avaliação
- Erro de intervalo
- Erro de referência
- Erro de sintaxe
- Erro de tipo
- Erro de URI
Vamos discutir cada um desses erros em detalhes.
Nome do erro |
Descrição |
EvalError | Ocorreu um erro na função eval () |
RangeError | Ocorreu um número "fora da faixa" |
ReferenceError | Ocorreu uma referência ilegal |
Erro de sintaxe | Ocorreu um erro de sintaxe |
TypeError | Ocorreu um erro de tipo |
URIError | Ocorreu um erro no encodeURI () |
1. EvalError: Indica um erro na função eval () global, ou seja, a função eval () é usada de maneira incorreta. As versões mais recentes do JavaScript não geram mais esse erro, mas o erro de sintaxe é invocado.
2. RangeError: Este erro é gerado quando um parâmetro ou valor (numérico) está fora ou excede seu intervalo permitido.
3. ReferenceError: Este erro é gerado quando nos referimos a uma variável que não existe (uma referência inválida é usada), ou seja, essa variável não foi declarada. É um dos erros mais comuns e mais frequentes.
4. SyntaxError: Este erro indica que a sintaxe do script é inválida, ou seja, uma declaração incorreta sintática está presente no código. Quanto aos erros de sintaxe, uma linguagem interpretada como JavaScript não os lança até que o script seja carregado e lido pelo navegador.
5. TypeError: este erro é gerado quando um valor não é do tipo apropriado conforme o esperado ou um tipo de dados inválido é usado para declarar ou definir uma variável. Exemplo: executando um cálculo numérico na variável ou objeto String.
6. URIError: Este erro indicava o uso de caracteres ilegais inválidos nos métodos / funções relacionados a URI (encodeURI () ou decodeURI ()).
Manipulando Erros em JavaScript
Quando ocorre um erro, sabemos que o script para de ser executado, a menos que lide com esses erros no próprio script, para não interromper o fluxo normal do programa. As diferentes maneiras que podemos implementar para lidar com esses erros são:
try …. catch block
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
)
Finalmente
Em algumas situações, há certas seções do script que precisam ser executadas, independentemente de ocorrer um erro, e essa parte da seção precisa ser gravada em um bloco final.
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
) finally(
//mandatory statements to run
)
Promessas
Promessas são usadas para manipular operações assíncronas que podem resultar em um erro. Eles podem gerenciar várias operações assíncronas e fornecer melhores soluções de tratamento de erros quando comparados com retornos de chamada e eventos.
var promise = new Promise(
function(resolve, reject)(
//do something
)
);
Exemplo:
function captureErrorTypes() (
try (
var sum = x + y;
alert(sum);
) catch(error) (
switch (error.name) (
case 'SyntaxError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'RangeError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'ReferenceError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
default:
alert("caught a " + error.name + ": " + error.message);
//handle all other error types here…
break;
)
)
)
Artigos recomendados
Este é um guia para erros em JavaScript. Aqui discutimos os erros de javascript e o que isso significa em qualquer linguagem de programação, juntamente com o tipo que geralmente ocorre em javascript. Você também pode consultar nossos outros artigos sugeridos para saber mais -
- Trabalho de encapsulamento em JavaScript
- Compiladores JavaScript
- Como o While Loop funciona em Javascript?
- Por que o JavaScript diferencia maiúsculas de minúsculas, mas o HTML não?
- Jogue vs Joga | As 5 principais diferenças que você deve saber
- As 10 principais versões do Java com recursos