segunda-feira, 22 de fevereiro de 2016

EJB: Recuperando uma exceção empacotada

Problema:

Ao tentar inserir null em um campo obrigatório o sistema exibe no console a exceção:
javax.ejb.EJBTransactionRolledbackException
E dentro dela exceção que causou a falha:
java.sql.SQLException: ORA-01407: não é possível atualizar ("CARRO"."NOME") para NULL
EJBTransactionRolledbackException é genérica e precisamos recuperar a java.sql.SQLException para exibir o erro em tela ou registrar no log.
Para fazer isso você pode usar a classe ExceptionUtils da biblioteca Apache Commons.

Solução:

Baixe o jar (commons-lang-2.6.jar) e insira na pasta lib, ou configure o POM do Maven.
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
catch (Exception e) {     System.out.println("Erro: " + ExceptionUtils.getRootCauseMessage(e) );}

Nenhum comentário:

Postar um comentário