| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 09:41:05
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
Pessoal, tenho dúvida no tratamento de exceções. Existe um padrão? Devo criar uma classe que estenda Exception? Qual o jeito ideal de se tratar?
OBS: sei usar try/catch..........minha dúvida é em um padrão de tratamento.......
|
Thiago Domingues |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 09:45:25
|
palmadias
JavaTeenager
Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline
|
bom dia.
eu particularmente gosto de criar uma exceção para cada tipo de erro. UsuarioInvalidoException, PedidoDeCompraNaoCadastradoException, etc.
Acho que o código fica mais legível.
abraços.
|
http://palmadias.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 09:48:08
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
bom, mas ae também seria legal criar um package dominio.com.Exception.......basicamente vc cria classe que estende Exception para cada método que você tem?
|
Thiago Domingues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 09:53:37
|
palmadias
JavaTeenager
Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline
|
Thiago Domingues wrote:bom, mas ae também seria legal criar um package dominio.com.Exception.......
no projeto que estou atuando hj temos uma package exception, tipo, br.com.dominio.exceptions. Nessa package guardamos todas as exceções.
basicamente vc cria classe que estende Exception para cada método que você tem?
nem sempre, as vezes um método pode lançar mais de um exceção, ou uma mesma exceção pode ser lançada por mais de uma método.
fica a gosto do fregues. rsr
|
http://palmadias.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 10:11:42
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
complementando o tópico..........
http://www.guj.com.br/posts/list/105661.java
|
Thiago Domingues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 10:28:45
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5523
Localização: Bahia/Porto Alegre
Offline
|
veja se os dois link a seguir ajuda:
tratamento de excecoes
tratamento de execoes na prática
flw! qualquer duvida so gritar
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 12:29:53
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
Seria certo fazer isso? se sim, todo método de manipulação no banco vou ter que usar try/catch?? Aí a aplicação vai ter um monte de try/catch na área de negócios...Isso é certo??? vlw..
|
Thiago Domingues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 13:02:11
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5523
Localização: Bahia/Porto Alegre
Offline
|
bem a questao é o vc analisar o seguinte de onde vem API? de Exception? se sim tera que usar isso é requisito. mesma coisa de vc nao poder usar IOI sem se vc nao usar try/cacth, o codigo nem compila pq as classes IOI deriva de Exception.
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 13:22:38
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
as exceções que podem ser geradas não são diretas de Exception, a maioria é de RunTimeException.......... maioria são as do hibernate, ObjectNotFoundException
|
Thiago Domingues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 13:41:17
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5523
Localização: Bahia/Porto Alegre
Offline
|
se vem de RuntimeException vc nao precisa nem tratar nem declarar...
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 13:42:08
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
Thiago Domingues wrote:
Seria certo fazer isso? se sim, todo método de manipulação no banco vou ter que usar try/catch?? Aí a aplicação vai ter um monte de try/catch na área de negócios...Isso é certo??? vlw..
Não. A sua classe DAO deve encapsular todos os exceptions apanhados internamente (catch) e lançar um outro exception (exemplo um DAOException)
Essa nova exeção deve ser não=verificada. Assim vc não polui os métodos de negocio
dê uma olhada nas boas práticas de exceções
This message was edited 1 time. Last update was at 26/02/2009 13:42:56
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 14:51:52
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
Seria algo do tipo??
This message was edited 3 times. Last update was at 26/02/2009 15:02:45
|
Thiago Domingues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 14:57:16
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5523
Localização: Bahia/Porto Alegre
Offline
|
vc nao pode colocar o catch dentro do try{} ja uqe nao é possivel ter o try{} sozinho.
tem que ser nessa linha.. veja os exemplo de codigo simples que passei no link, se aplica a qualquer tipo de situacao, ja que eh uma regra.
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 14:59:35
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
eu sei...........foi erro de digitação......................já editei.......
This message was edited 1 time. Last update was at 26/02/2009 15:01:05
|
Thiago Domingues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2009 15:05:42
|
Thiago Domingues
Java Ninja
Membro desde: 17/09/2007 10:45:28
Mensagens: 285
Offline
|
sergiotaborda wrote:
Não. A sua classe DAO deve encapsular todos os exceptions apanhados internamente (catch) e lançar um outro exception (exemplo um DAOException)
Essa nova exeção deve ser não=verificada. Assim vc não polui os métodos de negocio
dê uma olhada nas boas práticas de exceções
E nos métodos de negócio o que devo fazer se a exceção for lançada? como ficaria a declaração de um método de negócio?
|
Thiago Domingues |
|
|
 |
|
|