[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3824: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3826: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3827: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3828: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
Next Framework • Ver Tópico - ERROS NO SERVICE
Página 1 de 2

ERROS NO SERVICE

MensagemEnviado: Sáb Ago 07, 2010 9:58 pm
por willinos
Pessoal,
existe alguma forma de lançar um erro no meio de um método de um service?
Já consegui o que queria lançando uma Runtime exception, porem achei que ficou feio no console, como se tivesse um erro e não uma violação da regra de negocio.

Re: ERROS NO SERVICE

MensagemEnviado: Dom Ago 08, 2010 1:02 am
por rogelgarcia
O que vc deve fazer.. é lançar uma exception mesmo...

Você pode tratar essa exceção no controller.. ou configurar o log4j para nao mostrar essa exception no console...

Re: ERROS NO SERVICE

MensagemEnviado: Dom Ago 08, 2010 4:18 pm
por willinos
Ola Rogel,
Olha, poderia me mandar um exemplo, creio que posso lancar uma
Exception normal, mas por motivo de nao tratamento na classe superior nao pude faze-lo.

Obrigado

Re: ERROS NO SERVICE

MensagemEnviado: Dom Ago 08, 2010 6:19 pm
por rogelgarcia

Re: ERROS NO SERVICE

MensagemEnviado: Dom Ago 08, 2010 7:10 pm
por willinos
Isso mesmo!!
Testado e aprovado.

Muito Obrigado mesmo!!

Re: ERROS NO SERVICE

MensagemEnviado: Dom Ago 08, 2010 10:10 pm
por willinos
Opa,
Só ficou uma dúvida, como faço para durante o tratamento da mensagem de erro, fazer com que a mensagem apareça no painel de erros da pagina?

att

Re: ERROS NO SERVICE

MensagemEnviado: Dom Ago 08, 2010 10:36 pm
por rogelgarcia
getRequest().addMessage(...)

Aí vc passa o tipo como error

Re: ERROS NO SERVICE

MensagemEnviado: Dom Ago 08, 2010 10:44 pm
por willinos
Vou ser mais específico,
Tenho um campo unique no banco, mas a anotação unique do hibernante não sei porque não esta funcionando em relacão a mensagem de erro, pois estoura a excessao na tela, só queria tratar esta mensagem.
Tentei capturar o erro no controller mas não funcionou, ele encapsula a exceção?
Como seria o tipo que deveria definir para mensagem de erro?

att

Re: ERROS NO SERVICE

MensagemEnviado: Seg Ago 09, 2010 5:40 pm
por rogelgarcia
Pode ser:

DataAccessException

DataException

SQLException

Dependerá de como vc está usando o banco de dados.. 99% de chance de ser o DataAcessException...

(vc nao precisa por catch em todas.. se o DataAcessException funcionar, e deve funcionar, só necessita ele)

Re: ERROS NO SERVICE

MensagemEnviado: Seg Ago 09, 2010 9:46 pm
por willinos
Entendi tudo, já está funcionando...
Uma ultima observação, veja se estou correto:
Faço a regra de negocio no service, caso detecte uma violação que necessito devolver uma mensagem ao usuário, lanço uma exceção, que são tratadas no controler, onde designo uma mensagem amigável ao usuário, é isto?

att

Willinos