[Resolvido]Lançando Exception

3 respostas
W

Olá pessoal,

Estou utilizando o Hibernate, fiz uma association N:N, portanto tenho uma tabela ternaria onde tenho uma chave primaria composta pelo idClube e idCampeonato (As duas formam uma chave composta), mas até ai OK. O problema estão nas exception quando tenho uma chave e tento atualizar por uma que já exista, esta retornando a stack trace e na verdade queria lançar uma exception mais simples para o usuário. Estou utilizando os códigos abaixo. Alguem, por favor, poderia me ajudar?

Método Atualiza do DAO

public void atualiza(T u) throws Exception{
		try {
			this.session.update(u);
		} catch (Exception e) {
			throw new Exception("Problemas na atualização", e);
		}
	}

Trecho da Action

try {
			daofactory.beginTransaction();
			daofactory.getCampeonatoDao().atualiza(campeonato);
		} catch (Exception e) {
			daofactory.rollback();
			daofactory.close();
			return ERROR;
		}
		daofactory.commit();
		daofactory.close();
		return SUCCESS;

Esta é a Exception

javax.servlet.ServletException: Exception while invoking action selecionaClube: null / java.lang.reflect.InvocationTargetException / Duplicate entry '1-2' for key 'PRIMARY' / java.sql.BatchUpdateException
	org.mentawai.core.Controller.service(Controller.java:661)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Grato,
Wallfox

3 Respostas

Regis_A_Rocha

cara ja caiu em uma Exception voce esta forçando outra Exception…

no catch voce pode mandar essa mensagem, ou direcionar para uma pagina de erro

W

Regis A Rocha:
cara ja caiu em uma Exception voce esta forçando outra Exception…

no catch voce pode mandar essa mensagem, ou direcionar para uma pagina de erro

Pois é, o problema é que ele não esta caindo na exception e indo para a página de erro, esta me mostrando o stack trace.

Att.
Wallfox

W

Encontrei o erro. O commit deve estar dentro do try. :x

Criado 11 de agosto de 2009
Ultima resposta 13 de ago. de 2009
Respostas 3
Participantes 2