Esse artigo faz parte da revista Java Magazine edição 34. Clique aqui para ler todos os artigos desta edição

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).

 

image002.jpg
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();

    }

}

 

...

Quer ler esse conteúdo completo? Tenha acesso completo