Tratamento de erros em Javascript

Vamos explicar os erros comuns que podemos cometer e como evitá-los e depurá-los. Ademais veremos uma pequena conclusão da primeira parte do manual.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 18/11/04
Valorize este artigo:
Para acabar a primeira parte do manual de javascript vamos explicar os erros comuns que podemos cometer e como evita-los e depura-los. Ademais veremos uma pequena conclusão da primeira parte do manual.

Erros comuns

Quando executamos os scripts podem ocorrer dois tipos de erros de sintaxe ou de execução, os vemos a seguir.

Erros de sintaxe ocorrem por escrever de maneira errônea as linhas de código, equivocar-se na hora de escrever o nome de uma estrutura, utilizar incorretamente as chaves ou os parênteses ou qualquer coisa similar. Javascript indica estes erros à medida que está carregando os scripts em memória, o que faz sempre antes de executa-loa, como foi indicado nos primeiros capítulos. Quando o analizador sintático de javascript detecta um erro destes se apresenta a mensagem de erro.

Erros de execução ocorrem quando estão se executando os scripts. Por exemplo, podem ocorrer quando chamamos a uma função que não foi definida. Javascript não indica estes erros até que não se realize a chamada à função.

A maneira que têm javascript de mostrar um erro pode variar de um navegador a outro. Em versões antigas mostrava-se uma janelinha com o erro e um botão de aceitar, tanto em Internet Explorer como em Netscape. Atualmente, os erros de javascript permanecem um pouco mais ocultos ao usuário. Isto é bom, porque se nossas páginas têm algum erro em alguma plataforma não será muito incômodo para o usuário que em muitas ocasiões não perceberá. Entretanto, para o programador pode ser um pouco mais incômodo de revisar e se necessitará conhecer a maneira que se mostram os erros para que possam ser consertados.

Em versões de Internet Explorer maiores que a 4 mostra-se o erro na barra de estado do navegador e pode-se ver uma descrição maior do erro se clicamos duas vezes no ícone de alerta amarelo que aparece na barra de estado. Em Netscape aparece também uma mensagem na barra de estado que ademais nos indica que para mostrar mais informação devemos teclar "javascript:" na barra de endereços (onde escrevemos as URL para acessar às páginas). Com isso conseguimos que apareça a Consola javascript, que nos mostra todos os erros que se encontram nas páginas.

Também podemos cometer falhas na programação que façam com que os scripts não funcionem tal e como desejávamos e que javascript não detecta como erros e portanto, não mostra nenhuma mensagem de erro.

Para deixar claro, veremos um exemplo no qual nosso programa pode não funcionar como desejamos sem que javascript ofereça nenhuma mensagem de erro. Neste exemplo, trataríamos de somar duas cifras, mas se uma das variáveis é do tipo texto poderíamos encontrar com um erro.

var numero1 = 23
var numero2 = "42"
var soma = numero1 + numero2

Quanto vale a variável soma? Como muitos já sabem, a variável soma vale "2342" porque ao tentar somar uma variável numérica e outra textual, tratam-se as duas como se fossem do tipo texto e portanto, o operador + se aplica como uma concatenação de cadeias de caracteres. Se não estamos ao par desta questão poderíamos ter um erro em nosso script já que o resultado não é o esperado e ademais o tipo da variável que se soma não é numérico e sim, uma cadeia de caracteres.

Evitar erros comuns

Vamos ver agora uma lista dos erros típicos cometidos por inexperientes na programação em geral e em javascript em particular, e também, por não tão inexperientes.

Utilizar = em expressões condicionais no lugar de == é um erro difícil de detectar quando se comete, se utilizamos um só igual o que estamos fazendo é uma atribuição e não uma comparação para ver se dois valores são iguais.

Não conhecer a procedência de operadores e não utilizar parênteses para agrupar as operações que se deseja realizar. Neste caso nossas operações podem dar resultados não desejados.

Usar aspas duplas e simples erroneamente. Lembre-se que podem se utilizar aspas duplas ou simples indistintamente, com a seguinte norma: dentro de aspas duplas devem se utilizar aspas simples e vice-versa.

Esquecer de fechar chave ou fechar uma chave a mais.

Colocar várias sentenças na mesma linha sem separá-las de ponto e vírgula. Isto costuma acontecer nos manipuladores de eventos, como onclick, que veremos mais adiante.

Utilizar uma variável antes de iniciá-la ou não declarar as variáveis com var antes de utiliza-las também são erros comuns. Lembre-se que se não a declaras poderá estar fazendo referência a uma variável global no lugar de uma local.

Contar as posições dos arrays a partir de 1. Lembre-se que os arrays começam pela posição 0.

Depurar erros javascript

Qualquer programa é suscetível de conter erros. Javascript nos informará de muitos dos erros da página: os que têm relação com a sintaxe e os que têm lugar no momento da execução dos scripts a causa de equivocarmos ao escrever o nome de uma função ou de uma variável. Entretanto, não são os únicos erros que podemos encontrar, também estão os erros que ocorrem sem que javascript mostre a correspondente mensagem de erro, como vimos anteriormente, mas que fazem com que os programas não funcionem como esperávamos.

Para todo tipo de erro, uns mais fáceis de detectar que outros, devemos utilizar alguma técnica de depuração que nos ajude a encontra-los. Linguagens de programação mais potentes que a que tratamos agora incluem importantes ferramentas de depuração, porém em javascript devemos nos contentar com uma rudimentar técnica. Trata-se de utilizar uma função pré-definida, a função alert() que recebe entre parênteses um texto e o mostra em uma pequena janela que tem um botão de aceitar.

Com a função alert() podemos mostrar em qualquer momento o conteúdo das variáveis que estamos utilizando em nossos scripts. Para isso colocamos entre parênteses a variável que desejamos ver seu conteúdo. Quando se mostra o conteúdo da variável o navegador espera que apertemos o botão de aceitar e quando o fazemos continua com as seguintes instruções do script.

Este é um simples exemplo sobre como se pode utilizar a função alert() para mostrar o conteúdo das variáveis.

var n_atual = 0
var soma = 0
while (soma<300){
    n_atual ++
    soma += soma + n_atual
    alert("n_atual vale " + n_atual + " e soma vale " + soma)
}

Com a função alert() se mostra o conteúdo das duas variáveis que utilizamos no script. Algo similar a isto é o que teremos que fazer para mostrar o conteúdo das variáveis e saber como estão funcionando nossos scripts, se vai tudo bem ou se há algum erro.

Conclusão

Até aqui conhecemos a sintaxe javascript em profundidade. Embora ainda faltam coisas importantes de sintaxe, a visão que se pode ter da linguagem será suficiente para enfrentar os problemas mais fundamentais. Mais adiante apresentaremos outras reportagens para aprender a utilizar os recursos com os quais contamos na hora de fazer efeitos em páginas web.

Veremos a hierarquia de objetos do navegador, como construir nossos próprios objetos, as funções pré-definidas de javascript, características do HTML Dinâmico, trabalho com formulários e outras coisas importantes para dominar todas as possibilidades da linguagem.





Comentários do artigo
Foram enviados 26 comentários ao artigo
13 comentários não revisados
13 comentários revisados:
Por: leo
17/8/05
parabens pelo conteudo apresentado realmente eu sair um craque de java script rs bom continuem assim meus gatoes ui ui
Por: Luciana
30/1/06
Meu site está com erro na página. Mas não sei qual é. Tem algum programa que descobre o erro? Uso o windows XP.

Ah, parabéns pelo site! É maravilhoso!
Por: Alexander
10/3/06
Excelente este tutorial de JavaScript...

parabéns!
Por: LeoBok
27/6/07
Parabéns pelo Manual!
Muito útil!
Excelente disseminação de conteúdo e também com ótimos exemplos.
Muito bem organizado.
Recomendo sempre que alguém me fala que não sabe nada de javasScript, e até aqueles que já sabem!

Abraços
Por: Leandro
30/11/07
Eu era leigo no assunto, até ler seu manual....Show de Bola!!!!

PARABÉNS!!!!!!!!!!!!!!!!!!!
Por: Alfredo
07/4/08
Parabéns pelo conteúdo do site, muito bom mesmo, li desde o primeiro link até o último.
Por: WWW
20/5/08
Gostei esta mesmo muito bom é o melhor e mais aprofundado tuturial de JavaScript existente em Portugues
Por: Junior
09/8/08
Parabéns pelo trabalho, apesar de eu saber java que me dá uma boa noção da coisa, mas realmente é um dos melhores que achei na internet, valeu obrigado!
Por: deda
29/8/08
Reamente é um poouco bom o tutorial, mas deveria ter mais teste, pra testar noss proprio conhecimento.....
Muito Bom
Por: lobo_azul_lfa
02/11/09
Gostei muito do tutorial, é pratifo, eficiente e me serviu para revisar muito do que ja tinha aprendido e encontrar novas técnicas que tornam os programas mais rapidos e eficiente, continue assim...
Muito bom mesmo!
Por: jandersonmad
08/1/10
Sou novo no assunto, mais este manual foi de grande ajuda!
Parabéms pelo incentivo!
toturial Java Script.
Por: americojose123
19/7/11
Foi com grande satisfação que percorri todas as páginas do toturial.Enorme pedagogia.
Mts Prbns.
JavaScript
Por: walton
16/1/12
Muito bom o tutorial.Bem didático e bem traduzido(o que é dificílimo encontrarmos)!

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato