Tratamento de Exceções  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
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
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/
[WWW] [MSN]
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
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/
[WWW] [MSN]
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
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/
[WWW]
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
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/
[WWW]
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
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/
[WWW]
sergiotaborda
GUJ Expert
[Avatar]

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
[WWW]
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
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/
[WWW]
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
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
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team