JavaScriptMódulos e Errosbasico

Finally

Em sistemas reais, toda vez que você abre um recurso – como uma conexão com banco, um arquivo ou um socket – você precisa garantir que ele seja fechado, mesmo que ocorra um erro. Sem o finally, seu código pode vazar recursos, travando o sistema. Por isso, finally é essencial para executar limpeza obrigatória independentemente do que acontecer no try ou catch.

O PROBLEMA

Simule abertura de conexão com banco. Use try/catch/finally onde finally sempre fecha a conexão.

SOBRE O CONCEITO

O bloco finally é executado sempre, após o catch (se houver) e após o try, independentemente de uma exceção ter sido lançada ou não. Um erro comum é colocar a lógica de fechamento dentro do catch, mas se nenhum erro ocorrer, ela não será executada – ou seja, o recurso nunca será fechado. Outro erro comum é o finally executar antes do catch, o que é falso: a ordem é try -> catch (se exceção) -> finally. No exemplo, usamos if (conexao) no finally para verificar se a conexão foi realmente aberta antes de fechá-la, garantindo que a limpeza aconteça sem causar novos erros.

RESOLUÇÃO

Mais exercícios de Módulos e Erros

JSM003 · BásicoTipos de erroJSM005 · BásicoError propertiesJSM006 · BásicoExport nomeadoJSM008 · BásicoImport * as
Ver todos os exercícios de JavaScript