Hi,
Inject a logger, catch the exception and log the message?
HTH, Wouter
On Fri, Dec 18, 2009 at 03:24:45AM -0800, Franzisk wrote:
>
> I need to know how to show to my user just the message sent from the database
> when persisting, I dont want to the whole stacktrace.
>
> This is my method to save:
> public boolean inserir(T obj) throws HorusDAOException {
> EntityTransaction transaction = this.manager.getTransaction();
> transaction.begin();
> try {
> this.manager.persist(obj);
> transaction.commit();
> } catch (RuntimeException ex) {
> if (transaction.isActive()) {
> try {
> transaction.rollback();
> } catch (RuntimeException e) {
> }
> }
> throw new HorusDAOException("Error saving: "+ex.getMessage());
> } finally {
> manager.close();
> }
> return true;
> }
>
> This is the message sent to View:
> Error saving: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1
> (Build b09d-fcs (12/06/2007))):
> oracle.toplink.essentials.exceptions.DatabaseException
> Internal Exception: java.sql.SQLException: Duplicate key or integrity
> constraint violation message from server: "Duplicate entry '115.393.028-57'
> for key 'CPF'"
> Error Code: 1062
> Call: INSERT INTO VENDEDOR (CALCULAR_SOBRE_VALOR_FRETE, OBSERVACAO,
> TELEFONE, LOGRADOURO, CPF, NUMERO, PERCENTUAL_COMISSAO, BAIRRO, NOME,
> CIDADE, RG, ESTADO, EMAIL, COMPLEMENTO, INCLUIR_TAXAS, CEP) VALUES (?, ?, ?,
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
> bind => [true, , , , 115.393.028-57, 0, 15.0, , PEDRO, , , SP, , null,
> true, ]
> Query: InsertObjectQuery([ Cadastro de Vendedor ])
>
> I this case I would like to show only this message:
> "Duplicate entry '115.393.028-57' for key 'CPF'"
>
> I'd appreciate very much if someone could help on that.
> --
> View this message in context: http://old.nabble.com/How-to-threat-Database-exceptions--tp26842116p26842116.html
> Sent from the java.net - glassfish persistence mailing list archive at Nabble.com.
--
People: "If she weighs the same as a Duck, she's made of wood!"
Sir Bedevere: "And therefore...?"
[Monty Python and the Holy Grail]
Skype: wvreeven
Facebook: wvreeven
Twitter: wvreeven