Erros comuns em java
Click here to load reader
-
Upload
mario-pereira -
Category
Education
-
view
1.493 -
download
1
description
Transcript of Erros comuns em java
Resolução de problemas de Compilação e Runtime
Mario Jorge [email protected]
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