Dúvida com try..catch..finally

6 respostas
M

na estrutura

try { ... } catch(AlgumaCoisaException ex) { ... } finally { ... }
o bloco catch também vai pegar exceções que ocorram no bloco finally?

6 Respostas

C

Não, o bloco finally é sempre executado, independente de erros ou não.

Por exemplo, se você quer usar um meio para fechar o acesso a banco de dados, use finally, que sempre ele será fechado.

[]'s

M

Essa pergunta levantou uma questao td bem que o finally sempre sera executado…mas se a instrucao nesse bloco puder gerar uma excecao??

C

Se gerar uma exceção no bloco [i]try[/b], o bloco catch é executado e após disso o finally.

t+

M

Blz…so q a questao eh outra, se a instrucao que estiver dentro do bloco finally levantar uma excecao???

Como deve ser tratado essa questao?

C

Vai estourar o método, e procurar outro catch na pilha de chamadas, isso se o método atual também tem um throws.

M

Blz…Valeu!!!

Criado 25 de novembro de 2004
Ultima resposta 25 de nov. de 2004
Respostas 6
Participantes 3