Console do Eclipse Helios

Caros Gurus:

Gostaria de saber se existe alguma “receita”, manual ou tutorial para entender as mensagens exibidas no console do Eclipse, principalmente quando existem erros de “compilação” e execução das aplicações. Acredito que conhecer mais a linguagem Java em si ajudaria bastante, mas se vocês tiverem alguma sugestão ficaria muito grato.
Aplicativos: Eclipse e Tomcat6.

Saudações.

Bem, saber a linguagem é fundamental, mas não só programar, tem que saber ler a documentação também.

As vezes a galera fica se batendo por causa de um array out of bounds exception, dizendo que num tem nenhum array, mas num percebe a list, o set, etc.

Outra dica, é que quase toda vez que tem uma exception, aparece um stackTrace, com todas as chamadas de métodos que levaram até o erro. É fundamental que você leia ela, não só o começo, mas que continue procurando até encontra uma linha que você digitou. Nem adianta ir naqueles métodos que você nunca escreveu, pois você não vai entender nada provavelmente. Se existe um erro no programa que você fez, provavelmente foi um ero no seu código, enão no código dos outros.

Valeu, elissonandrade!
Imaginar que existe uma fórmula mágica (GUJ, Google etc) pode resolver para aquela situação… É que estou indo por um caminho que não concordo muito, mas este é o jeito pra agora. Estou copiando uma aplicação escrita em um livro para o Eclipse, sem saber dos fundamentos etc…
Mesmo assim, gostaria de passar minha dúvidam mas são tantos os arquivos e não sei por onde começar.

Agradeço sua colaboração.

Valeu, wellington.nogueira.

As coisas estão ficando mais claras. Agora já tenho um ponto de partida, ou seja, tenho onde começar a olhar, quando as coisas não estão corretas!..

Valeu, novamente.

Abraços!

Olá, pessoal!

Achei muito boa a sugestão que vocês me deram para iniciar a limpeza de exceções, mas ainda não estou sabendo como fazer. Poderiam me ajudar?
Por exemplo, tenho um código assim:

GRAVE: Servlet.service() for servlet Faces Servlet threw exception
java.io.FileNotFoundException: /mostraUsuario.xhtml Not Found in ExternalContext as a Resource
	at com.sun.faces.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:221)
	at com.sun.faces.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:262)
	at com.sun.faces.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:190)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:731)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

Acredito que isto seja uma pilha do que se passou quando o Eclipse tentava compilar ou executar o programa, no entanto, este programa parou deixando este registros.
Agora acho que devo procurar as classes e métodos, mas?!..

Agradeço a atenção.

Olá, Wellington!

Fazendo uma pesquisa pela Internet, encontrei esta página de blog que acredito que irá me ajudar.

http://www.urubatan.com.br/mensagens-de-erro-sao-feias-mas-nao-mentem-nem-mordem/

Agora, o auxílio que você puder me dar será muito bem vindo!

Bem, respondendo à sua pergunda, eu diria que “exceção lançada” é o registro de uma anomalia que não foi prevista pelo programador ou que não é suportada pela linguagem em uso. Será que acertei?

Abraços!

Entendi…
A mensagem de arquivo não encontrado pode ser por ele (o arquivo) não existir, estar com o nome ou local incorreto, ou sendo apontado para um endereço incorreto.
Acho que é isso, não, Wellington?!

Valeu!

Apenas complementando.
Toda exceção é na verdade a “manifestação” de uma instância de uma classe do tipo Exception. Logo, se ocorre um ArrayIndexOutOfBoundsException, NullPointerException, etc. Você poderá procurar no Javadoc do Java a classe e terá maiores informações sobre porque o erro aconteceu e o stacktrace poderá indicar onde o erro ocorreu.

A primeira linha do Stack (última linha executada) foi a geradora da exceção, mas a causa pode estar em outras linhas (fornecer um objeto nulo para um parâmetro, passar um índice sem validar se poderia utilizá-lo, etc). Use-as para identificar pontos a marcar para depuração e tentar identificar o erro causado.

Vamos fazer diferente.
Diga o que você entendeu sobre a exceção lançada.

Resposta errada, quando disse exceção lançada estava me referindo a exceção que você postou, essa resposta que você deu seria uma resposta genérica para todas as exceções e não para uma em específico.

A exceção indica que um arquivo não foi encontrado. E mais, indica qual foi o arquivo:

A linha abaixo indica isso:

java.io.FileNotFoundException é a exceção lançada

Em seguida vem a informação: /mostraUsuario.xhtml Not Found in ExternalContext as a Resource que indica qual o arquivo.

Provavelmente você precise desse mostraUsuario.xhtml e ele não encontrou.

[EDIT]
O link que você passou é interessante.