Cuidado com try/finally

maio 24, 2007 às 2:20 am | Publicado em Java | Deixe um comentário

O tratamento de erro é um dos pontos mais fortes do java. O mecanismo de try/catch permite capturar e tratar as exceções que podem ocorrer durante a execução do sistema.

Também é possível usar um bloco try/finally, ou seja, a exceção lançada no bloco try não receberá nenhum tratamento. Tome bastante cuidado com esta prática. Se você não quiser tratar o erro no método, é aconselhável passá-lo adiante (throws).

Veja um exemplo desta combinação:

try_finally_1.jpg

Sem o bloco catch, se a operação executada dentro do bloco try lançar um FileNotFoundException, não será possível tratar o erro. Repare que o método também não repassa a exceção (throws).

Este exemplo ainda tem outro agravante. A expressão return dentro do finally. Imagine o seguinte cenário:

try_finally_2.jpg

A execução imprimirá: Maria

Devido a este comportamento estranho que usar uma instrução return dentro de um bloco finally é considerado uma má prática. O Eclipse dá uma mãozinha avisando o perigo.

Conheça mais sobre exceções aqui.

Anúncios

Deixe um comentário »

RSS feed for comments on this post. TrackBack URI

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Crie um website ou blog gratuito no WordPress.com.
Entries e comentários feeds.

%d blogueiros gostam disto: