[RESOLVIDO] quando é a melhor hora de tratamento de exception?

galera, é melhor deixar que o próprio método tratar do erro, ou melhor pro método que vai executar um método que possui throws, então???

Obrigado pela atenção!!

[quote=alexandref93]galera, é melhor deixar que o próprio método tratar do erro, ou melhor pro método que vai executar um método que possui throws, então???

Obrigado pela atenção!![/quote]

O mais ideal seria vc exibir uma exception na View ou seja se vc tem um metodo em alguma classe que nao seja sua View e essa lançar uma Exception, vc vai utilizar o throws neste método e capturar na sua View para exibir para o usuário.

O melhor momento de vc usar um try {} catch (…) {} é quando vc tem algo util p/ fazer com a exceção. Por exemplo mostrar uma menssagem p/ o usuário ou tentar realizar a operação novamente. Nem sempre apenas mostrar uma menssagem p/ o usuário é suficiênte, em certas situações existem outras coisas q vc pode ou deve fazer com uma exceção. Um exemplo disso é quando vc tenta acessar um serviço remoto (q pode bem ser um banco de dados ou um web service) e esse serviço ñ responde. Vc pode querer tentar acessar esse recurso outras vezes antes de concluir q ele ñ está funcionando afinal ñ existe garantia absoluta de q uma requisição na rede vai chegar ao destino.

acho que me expressei errado :shock: o que eu quero saber seria, por exemplo:
Eu crio uma classe só pra conexão, que faz conexão e fecha, e tenho uma outra classe que faz o papel do JFrame, mais no caso se eu utilizar o executeQuery do Statement, ele possuir o throws SQLException, dae é melhor tratar essa exception na classe que faz a conexão, ou na classe que extende JFrame e vai utilizar a classe que faz conexão??? deu pra entender??? :lol:

Mas é exatamente o q eu disse. Vc tem alguma coisa util p/ fazer com essa exceção na classe q faz a conecção? Se vc achar q pode fazer algo com essa exceção nessa classe então faça. Mas como vc está em duvida é bem provável q vc ñ tem nada interessante p/ fazer com essa exceção nessa classe. Enquando vc ñ encontrar nada de util p/ fazer com ela, então capture-a em algum lugar q possa mostrar uma menssagem bem bonitinha p/ o usuário, afinal, se ñ há nada util p/ fazer com essa exceção avisar o usuário é o mínimo q vc pode fazer.

bom vamos do inicio entao, creio que uma classe que abra e feche conexao nao tem mto sentido, sugiro que vc estude o padrao de projeto DAO.

quanto a sua duvida este artigo, principalmente o final ira ajudar mto:

http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/

mas se for continuar do modo que está fazendo, trate na classe que extende Jframe, pois não há nada oque fazer a nao ser exibir uma msg de erro

abrasssssss

Leia esses textos, vai te ajudar:
http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/



Existe uma situação que você nem sequer pensou. É possível tratar a exceção verificada na classe que lida com a conexão (fechando a conexão, por exemplo), mas disparar uma exceção não verificada, para avisar que algo estranho ocorreu.

Só exibir uma mensagem de erro não é tratar direito exceptions. O ideal é que ambos os pontos possuam algum tipo de tratamento.

vlw pelas dicas galera!!!