Duvida com Tratamento de Exceções Personalizadas entre Camadas
Galera gostaria de trazer a exceção até a view de uma forma amigável, como fazer?
método excluir
printstacktrace:
método excluir
public void excluir(T bean) {
session.flush();
session.clear();
try {
session.delete(bean);
} catch (ConstraintViolationException rd) {
// como vou capturar essa excption aqui ?
// Aqui ele não capturar a ConstraintViolationException, por isso
// disse que não funciona )
FacesContext faces = FacesContext.getCurrentInstance();
faces.addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_FATAL, Aviso, rd.getMessage()));
} catch (Exception e) {
FacesContext faces = FacesContext.getCurrentInstance();
faces.addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_ERROR, Aviso,
Registro Filho tem pai.));
}
}
printstacktrace:
2011-10-27 08:28:42,059 ERROR [org.hibernate.util.JDBCExceptionReporter] - Cannot delete or update a parent row: a foreign key constraint fails (`studio`.`aluno`, CONSTRAINT `fk_aluno_cidade` FOREIGN KEY (`cid_codigo`) REFERENCES `cidade` (`cid_codigo`) ON DELETE NO ACTION ON UPDATE CASCADE) 2011-10-27 08:28:42,061 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
Luciano Martins
Curtidas 0
Respostas
Davi Costa
27/10/2011
Vc tem que descobrir qual realmente é a exceção que ele está trazendo. Debuga que vc descobre.
Ai vc fazer realmente o catch que ele vai entrar.
att Davi
Ai vc fazer realmente o catch que ele vai entrar.
att Davi
GOSTEI 0
Luciano Martins
27/10/2011
entaum Davi o erro do stack é esse mas na hora q debugo o código ele naum entra em nenhum catch só no catch do listener, isso q naum entendi, tentei pegar a exceção do listener e naum consegui trazer pra view.
GOSTEI 0
Davi Costa
27/10/2011
Faz seguinte cola o Stack Trace inteiro, para entendermos melhor o que está acontecendo.
att Davi
att Davi
GOSTEI 0
Dyego Carmo
27/10/2011
Conseguiste achar o stack ?
GOSTEI 0