Tratamento de erros em Javascript
Vamos explicar os erros comuns que podemos cometer e como evitá-los e depurá-los. Ademais veremos um
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.