[Resolvido]Pequena duvida sobre exceçao

5 respostas
carlos.e.a

Ola pessoal,

Surgiu aqui uma pequena duvida sobre excecoes e que dei uma pesquisada - admito que bem superficial - e nao encontrei a resposta. É uma coisa bem boba mesmo mas que esta me trazendo alguns problemas. Vou dar um exemplo aqui:

Tenho um metodo mais ou menos assim:

public void meuMetodo() throws ExceçaoX{ try{ //codigo que lança uma ExceçaoX } catch(ExceçaoX ex){ throw ex; } //restante do codigo;

Minha duvida é se esse codigo abaixo da exceçao sera executado mesmo que seja capturada a exceçao. Ou caso seja capturada a excecao o metodo relança e passa o controle ao metodo chamador.

Desde ja agradeço e peço descupas mas é que por ser uma duvida meio especifica esta um pouco dificil de achar a resposta.

5 Respostas

ViniGodoy

Sim, será executado. E como o código do catch está fora do try, aquela exceção será disparada.

É muito comum usarmos isso para fazer um log da exception, antes de redispara-la.

try { //FazQualquerCoisa } catch (UmaException e) { //Fazemos o log aqui throw e; //Relançamos para o método chamador saber do problema }

E quando postar códigos, não esqueça das tags code.

ViniGodoy

Desculpe, agora que entendi a dúvida.
O código abaixo não será executado, assim que a exception é disparada ela faz com que o método seja abandonado.

carlos.e.a

Ixi foi mal eu achei que tinha colocado as tags xD
Entao o metodo é abandonado mesmo ne?!
Entao acho que nao vou ter mais problemas! xD
Quando voce falou primeiro que nao era abandonado eu fiquei triste pq ai eu teria muito codigo pra corrigir xD

Muito obrigado!!!

ViniGodoy

É, a primeira vez pensei que vc estava perguntando se lançar uma exceção já capturada no catch seria possível.

Viajei. Mas sem as tags code tava meio difícil de ler a linha //restante do código. :slight_smile:

carlos.e.a

Blz foi mal.
Vou colocar como resolvido.
Mais uma vez obrigado

Criado 20 de fevereiro de 2011
Ultima resposta 20 de fev. de 2011
Respostas 5
Participantes 2