Exceções

1 resposta
I

Por que em algumas situações as pilhas de exceção do Java aparecem com (Unknown Source) ao invés de mostrar a classe e a linha de onde o erro ocorreu? Como resolve-se isso para tornar a depuração mais legível?

1 Resposta

A
Vc teria que levantar a exeção de acordo com o tipo de erro que pode ocorrer, ex:

se vc levantar  catch (Exception e)  vc pega tudo generico!!!

Olha um exemplo de uma função que retorna um resultado vindo de um HQL, vc pode ter dois tipos de erro!

} catch (HibernateException e2) {

log.error("Erro hibernate ao executar query: " + e2);

throw erro.msg(persistencia.query,new Object[] {e2},e2);

} catch (Exception e) {

log.fatal("Erro fatal ao tentar recuperar lista: " +e,e);

throw erro.msg(persistencia.query,new Object[] {e},e);

}

No caso se o erro for de hibernate ele entra no primeiro catch e se for geral entra no segundo!

Apenas o segundo catch resolveria mas o primeiro catch garante que o erro é de hibernate, e como ele descarega o erro no Log4J na hora, ele sempre me fala qual a linha que ocorreu o erro!
Criado 9 de maio de 2005
Ultima resposta 9 de mai. de 2005
Respostas 1
Participantes 2