| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2007 19:36:52
|
Rodrigo Manhães
JavaGuru
![[Avatar]](/images/avatar/3e9f7c16bd1cdea78f8e2eea72dfdfbe.png)
Membro desde: 14/07/2005 17:07:07
Mensagens: 242
Localização: Campos dos Goytacazes/RJ
Offline
|
Pessoal,
outro dia estava relendo a Mundo Java 20 e no artigo do Eduardo Guerra sobre camada de negócios, vem o seguinte:
Nunca havia ouvido falar nisso como anti-pattern e confesso que não entendi o motivo. Alguém tem alguma informação ou referência sobre isto?
|
https://github.com/rodrigomanhaes
http://programacaoradical.blogspot.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2007 19:44:38
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Acho que existem mecanismos melhores para isso, sobretudo no caso de RuntimeException.
Eu, geralmente, registro um uncaughtExceptionHandler, que loga as exceções de runtime não pegas automaticamente. Veja a classe Thread para entender como registrar esse Handler.
As demais exceções, geralmente o ideal é fazer o tratamento mesmo. Seja se livrando da causa, ou jogando para a classe de cima. Se realmente ninguém puder tratar (o que acho muitíssimo raro), aí sim, o negócio é logar.
Finalmente, fazer isso vai encher seus arquivos de logs de exceções que podem muito bem ser tratadas pelas classes superiores e não constituir exatamente um problema na sua aplicação. Isso dificulta a analise dos arquivos de log gerados e, algo que era para ser para te ajudar, acaba se tornando inútil ou te atrapalhando.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2007 20:10:40
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Isso é apenas um anti-pattern se for feito nas camadas erradas da sua aplicação. Quase sempre você vai querer logar exceptions nas camadas de integração, onde elas vão provavelmente ser convertidas em algo mais útil, uma página de erro, por exemplo. Em um sistema web esta é a camada do controler, nas actions to teu sistema.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/05/2008 14:34:59
|
Guerr@
Virtual Machine Man
![[Avatar]](/images/avatar/9fb640ea6abe0e849c8c1fd6eea97c22.jpg)
Membro desde: 03/12/2006 10:32:50
Mensagens: 521
Offline
|
Rodrigo Manhães wrote:Pessoal,
outro dia estava relendo a Mundo Java 20 e no artigo do Eduardo Guerra sobre camada de negócios, vem o seguinte:
Nunca havia ouvido falar nisso como anti-pattern e confesso que não entendi o motivo. Alguém tem alguma informação ou referência sobre isto?
Uma boa referência sobre anti-patterns de tratamento de exceções: http://today.java.net/pub/a/today/2006/04/06/exception-handling-antipatterns.html
|
Eduardo Guerra - "É Java na ponta do dedo!"
Desenvolvedor de Frameworks - Pesquisador
Editor Chefe - Revista MundoJ
Professor - Instituto Tecnológico de Aeronáutica
Me siga no Twiter!!! http://twitter.com/emguerra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/05/2008 15:35:11
|
Rubem Azenha
GUJ Master
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.jpg)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline
|
louds wrote:Em um sistema web esta é a camada do controler, nas actions to teu sistema.
Depende louds, as exceptions de negócio com certeza devem ser tratadas pelas actions, mas as de infraestrutura não fazem muito sentido. O que a Action pode fazer com um SQLException, um NullPointerException ou um ClassCastException?
Acredito que nesses casos é melhor deixar que o container efetue o logging da exceção (claro que você deve configurar bem o mecanismo de logging do container): http://edocs.bea.com/wls/docs61/webapp/web_xml.html#1017571
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/05/2008 15:53:11
|
aleck
GUJ Ranger
![[Avatar]](/images/avatar/2051bd70fc110a2208bdbd4a743e7f79.jpg)
Membro desde: 27/03/2006 08:08:33
Mensagens: 843
Localização: Rio de Janeiro
Offline
|
Acho que este artigo é excelente para explicar:
http://lucabastos.blogspot.com/2007/06/tratamento-de-excees-parte-1-um-pouco.html
|
Desenvolvedor iOS/Android
http://blog.alexandresoli.com.br
@alexandresoli |
|
|
 |
|
|