Tratamento de Execeções em camadas  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

Estou capturando a execeção na camada de modelo e gostaria de apresentar ela na camada de view

DAO Generico - Model


PessoaFacesBean - Controller


Qual seria a melhor forma para trazer essa mensagem ?

EmmanueL Neri
[Email] [MSN]
dtxk
Java Ninja
[Avatar]

Membro desde: 09/03/2010 00:57:50
Mensagens: 264
Offline

se eu não me engano é no "Managed Bean" que vc deve tratar as exception, similar ao Action do Struts. Ou seja, onde estorar a Exception você da um throw até chegar no controller para você tratar la.
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

Mais devo tratar exeções de banco de dados no "Managed Bean" ?

EmmanueL Neri
[Email] [MSN]
dtxk
Java Ninja
[Avatar]

Membro desde: 09/03/2010 00:57:50
Mensagens: 264
Offline

no método que vc estiver desenvolvendo no DAO ou qualquer outro com acesso ao banco vc da um "throws Throwable" e no "Managed Bean" você trata com try/catch entendeu?
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

sim entendi , e para mostrar a mensagem do ConstraintViolationException no "managed bean" ? porque no model vou ter mais de uma exeption

EmmanueL Neri
[Email] [MSN]
dtxk
Java Ninja
[Avatar]

Membro desde: 09/03/2010 00:57:50
Mensagens: 264
Offline

ddark.emanu wrote:sim entendi , e para mostrar a mensagem do ConstraintViolationException no "managed bean" ? porque no model vou ter mais de uma exeption


Como é uma exception exclusiva vc cria um catch somente para essa exception. O resto das exception principalmente de Banco vc joga no Throwable.
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

eu tentei fazer isso , deixei uma catch capturando exepetion no model e fiz uma ConstraintViolationException no "managed bean" mais ele já foi capturado pelo model .... ( isso que você quis dizer ? )

EmmanueL Neri
[Email] [MSN]
dtxk
Java Ninja
[Avatar]

Membro desde: 09/03/2010 00:57:50
Mensagens: 264
Offline

não entendi sua pergunta, apartir do momento que você da um "throw new Exception()" ele joga para a camada de controler. Agora se vc esta tratando antes no model, nao ira chegar lá vc concorda?

qualquer coisa posta ai...
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

concordo , isso que eu falei que testei .... ok vou fazer uns tentes com throw

EmmanueL Neri
[Email] [MSN]
FernandoFranzini
GUJ Master
[Avatar]

Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline

Um sistema não pode emitir mensagens de erros com detalhes tecnológicos. Qualquer problema no sistema, o usuario final deve receber mensagens compatíveis com a usuabilidade do sistema.
Como fazer?
- Toda as camadas logica da solução deve encapsular os detalhes tecnologicos emitindo, tratando todas as exceptions devidadmente e propagando mensagens em níveis de negocio ou de serviço.

Fernando Franzini
[Email] [WWW]
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

Isso que eu quero fazer Fernando , capturar uma ConstraintViolationException na camada da model e apresentar uma mensagem de "Esse registro já existe" para o usuário

EmmanueL Neri
[Email] [MSN]
FernandoFranzini
GUJ Master
[Avatar]

Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline

ddark.emanu wrote:Isso que eu quero fazer Fernando , capturar uma ConstraintViolationException na camada da model e apresentar uma mensagem de "Esse registro já existe" para o usuário

Normal...
Defina pelo menos uma exception para cada camada.
Persistência - AcessoException
Negocio - NegocioExcetoptin
Visão - VisaoException

Na camada de visão vc pega o texto e imprime para o usuario.

Fernando Franzini
[Email] [WWW]
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

minha dúvida é exatamente essa ! pegar o texto de uma camada e passar para um FacesContext , poderia me passar um exemplo ?


Obrigado

EmmanueL Neri
[Email] [MSN]
FernandoFranzini
GUJ Master
[Avatar]

Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline

ddark.emanu wrote:minha dúvida é exatamente essa ! pegar o texto de uma camada e passar para um FacesContext , poderia me passar um exemplo ?

Obrigado



Fernando Franzini
[Email] [WWW]
ddark.emanu
JavaChild
[Avatar]

Membro desde: 06/10/2010 16:09:16
Mensagens: 118
Localização: Cianorte - PR
Offline

Fiz dessa maneira :



ele enviou o erro para a próxima camada



mais aqui ele não capturou no ConstraintViolationException foi direto para o Exception , é dessa maneira mesmo que devo fazer ? o que há de errado.

Erro


estou capturando a execption errada ?

EmmanueL Neri
[Email] [MSN]
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team