Erros comuns em java

Post on 06-May-2015

1.493 views 1 download

description

Apresenta erros comuns na fase de compilação e execução de código java.

Transcript of Erros comuns em java

Resolução de problemas de Compilação e Runtime

Mario Jorge Pereiramariojp@gmail.com

Quando Ocorrem?

Durante o desenvolvimento, erros podem ocorrer em dois momentos:Na compilação

Esses ocorrem quando se executa o javac e são mais simples de corrigir

Erros que estão geralmente ligados a sintaxe

Uma boa IDE já aponta o erro e muitas vezes ate mesmo a solução

Na execução ( runtime )Esses erros ocorrem quando se executa o java e não são tão

simples de corrigir

Compilando o .java

Nesse momento podem ocorrer 2 tipos de erro: Erros de processamento do arquivo (parsing)

Os motivos são ponto-e-vírgula faltando, parênteses, aspas, chaves ou colchetes descasados.

IO compilador identifica apenas o arquivo e a linha onde o erro pode ter iniciado.

Um erro pode causar vários outros e nem sempre a mensagem é precisa.

Erros de compilação do código Realizada depois do parsing.

Além da linha e do arquivo, identificam a classe e método.

Geralmente as mensagens são bem claras.

Erros mais comuns na hora de Compilar

javac : Command not found A variável PATH não esta corretamente configurada.Inserir a pasta \bin do JDK (onde esta o javac) no PATH.

Cannot resolve symbolO compilador não encontrou a definição de um determinado

simbolo.Geralmente são erros de sintaxe ou a definição de classe

não encontrada no CLASSPATHClass Classe is public, should be declared in a file named Classe.javaSe o arquivo .java tiver uma classe publica, o nome da

classe e o nome do arquivo devem ser rigorosamente o mesmo. O mesmo erro aparece caso exista mais de uma classe publica no arquivo.

Erros mais comuns na hora de Compilar

Erros mais comuns na hora de Compilar

Erros de Runtime

Passando com sucesso a fase de compilação são gerados os arquivos .class (bytecodes).

Ao ocorrer um erro no momento da execução geralmente é impresso um "stack trace".Nem sempre mostra a linha de código onde o erro começouO início do trace geralmente contém informações mais úteis

Erros de runtime podem ocorrer tambem por causas externas:não existência de arquivos externos, falta de memória e

falha em comunicação de rede

Erros mais comuns na hora de Executar

java.lang.NoClassDefFoundError : NomeClasseA classe que estamos tentando executar não foi encontrada.Verifique o nome da classe e a localização

java.lang.NoSuchMethodError: mainA classe que estamos executando não possuí o metodo:

public static void main(String[] args){ ... }

Verifique se a classe tem o metodo e se sua sintaxe esta correta.

java.lang.ArrayIndexOutOfBoundsExceptionTentativa de acessar vetor além do limite definido.Verifique a logica da aplicação.

Erros mais comuns na hora de Executar

java.lang.NullPointerExceptionreferência para objeto é nula Variável de tipo objeto ou Vetor foi declarado mas não

inicializadoVerifique a logica da aplicação.

java.lang.NoSuchMethodError: mainA classe que estamos executando não possuí o metodo:

public static void main(String[] args){ ... }

Verifique se a classe tem o metodo e se sua sintaxe esta correta.

java.lang.ArrayIndexOutOfBoundsExceptionTentativa de acessar vetor além do limite definido.Verifique a logica da aplicação.

Dicas

Devemos criar aplicações que prevejam a possibilidade de erros devido a fatores externos e ajam da melhor forma possível

Devemos evitar que erros de lógica sobrevivam além da fase de desenvolvimento. Para evitá-los:Escreva código claro, fácil de entender, organizado,

pequenoUse endentação, siga convenções, nomes significativos,

documenteEscreva testes para todo código e rode-os com freqüência

Para achar os erros difíceis Rode código de testes se os tiver; Ative nível de

mensagens de logAprenda a usar um depurador para navegar no fluxo de

execução