ht=34 alt=imagem_pdf.jpg src="/imagens/imagem_pdf.jpg" width=34 border=0>
Tira-Dúvidas
Erros de compilação e execução no Eclipse
Usando o Eclipse, observei que o compilador do IDE tem a capacidade de gerar o .class para fontes com erros, sendo que ao executar a classe, os métodos contendo erros de compilação geram uma exceção. Pergunto: isso é padrão no Eclipse? E não estariam sendo violadas especificações do Java?
Léo Ferreira
É padrão sim. Por exemplo, se for escrita a seguinte classe:
public class Teste {
public static void main (String[] args) {
argh();
}
}
... o Eclipse reporta o erro, mas mesmo assim gera o arquivo .class. Se for executada a classe, é mostrado este erro:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method argh() is undefined for the type Teste
at Teste.main(Teste.java:3)
(Antes disso, ao executar a classe será mostrado o diálogo da Figura 1, indicando a presença de erros, mas observe que o Eclipse permite continuar a execução mesmo assim).
Figura 1. Executando a classe mesmo com erros de compilação
O que o compilador do Eclipse faz é adiar o erro fatal do tempo de compilação para o tempo de execução (runtime), e isso não é uma incompatibilidade. Pelo contrário, até faz sentido no contexto do comportamento dinâmico e de classloading do Java. Veja um segundo exemplo:
public class Teste2 {
public static void main (String[] args) {
if (args.length == 3) new X();
}
}
...