Olá desenvolvedores, hoje falaremos do bloco Finally. Sabemos que para o tratamento de exceções em Java o código que por ventura puder gerar exceções deverá ser colocado dentro de um bloco try. E que este bloco try deverá ser seguido por um ou mais blocos catch.
No entanto, mesmo que sejam vários blocos catch, apenas um será executado. Assim, seguindo a ordem de implementação este bloco será o primeiro que tratar uma exceção do mesmo tipo. E é neste contexto que se insere o bloco finally, ele será executado independente da ocorrência de uma exceção ou não no bloco try. Porém ele é obrigatório quando não houver nenhum bloco catch após um bloco try.
finally {
JOptionPane.showMessageDialog(null, "OBRIGADO POR APRENDER JAVA COMIGO");
}
Poderemos testar os dois cenários. O cenário um onde uma exceção será lançada, e o cenário dois, onde nenhum problema será encontrado. Não importa, em qualquer dos dois cenários o bloco finally sempre será executado. Faça o teste e veja por você mesmo.
ONDE USAR O BLOCO FINALLY
Tá, mas onde poderei aplicar este bloco em um cenário real? Suponha que seja aberto uma consulta em um banco de dados, e independente do que aconteça, ou seja, havendo erro ou não, a sessão deverá ser fechada. O bloco finally, poderá ser utilizado afim de enviar uma mensagem lembrando que a transação deverá ser fechada.
E atente-se, neste exemplo estamos falando de transação no banco de dados e não de uma conexão, está sim, não poderá ser interrompida. Esta transação poderia, por exemplo, se referir ao cadastro de uma venda.
Então podemos dizer que o finally sempre será utilizado quando um processo precisar ser executado. Processo este que deverá ser obrigatoriamente encerrado após sua execução.
EM POUCA PALAVRAS
A utilização do finally é algo bem simples de entender e implementar. E que fique bem claro, ele somente não será obrigatório se houver pelo menos um bloco catch implementado. Havendo um bloco try, sem um bloco catch, a implementação do finally é obrigatória.
Acredito que até aqui já ficou claro que erros são comuns de acontecer, e não é motivo para desespero. O conhecimento será sua melhor arma para lidar com eles. Então não fique com dúvidas e não avance enquanto não tiver entendido completamente. Eu fico por aqui, nos vemos no próximo tutorial.