sexta-feira, 21 de dezembro de 2007

A importância do uso do Finally


A importância do uso do FinallyTenho visto muito código Java ultimamente nos quais não são utilizados finally.


Para quem não sabe, o bloco com finally sempre será executado quando existir, independentemente se ocorrer algum erro dentro do Try ou não. Usar finally é uma boa prática, o mesmo deve ser utilizado para fazer uma espécie de limpeza na aplicação, por exemplo: fechar alguma estrutura de dados e liberar memória, como no básico código abaixo:




try {
System.out.println(rs....);
} catch (Exception e) {
// tratamento de erro
} finally {
// código que será executado, independente se entrou no catch ou não
rs.close();
}

Um erro muito comum que encontro é este:




try {
System.out.println(rs....);
rs.close();
} catch (Exception e) {
// tratamento de erro
}

O desenvolvedor fecha a estrutura dentro to try, porém, se ocorrer um erro no momento do println, a estrutura não será fechada. Eu já vi servidores caírem ou o desempenho do sistema ficar inaceitável devido ao erro acima!

Algo muito importante, é procurar por "Throws" na documentação dos métodos que você está utilizando e pelas exceções lançadas por ele, assim, você trata todos os erros possíveis utilizando blocos catch, prevenindo-se assim, os possíveis erros em tempo de execução e informando os erros ao usuário de forma mais clara.

Lembre-se sempre de utilizar finally e fechar todas as estruturas de dados, arquivos, etc que seu código faz uso. É uma boa prática!

Maiores informações aqui.

Nenhum comentário:

Postar um comentário