Usando finally e throws
Java para Iniciantes (Oracle)
Posted on October 22, 2024
Podemos querer definir um bloco de código para ser executado ao sair de um bloco try/catch.
Exceções podem causar erros que encerram métodos prematuramente, deixando recursos como conexões ou arquivos abertos.
O bloco finally é usado para garantir que ações como o fechamento de recursos sejam realizadas, independentemente de ocorrer uma exceção.
O bloco finally é incluído ao final de uma sequência try/catch.
try {
// bloco de código cujos erros estão sendo monitorados
}
catch (TipoExceç1 obEx) {
// tratador de TipoExceç1
}
catch (TipoExceç2 obEx) {
// tratador de TipoExceç2
}
//...
finally {
// código de finally
}
O bloco finally é sempre executado ao sair de um bloco try/catch, independentemente da causa.
Seja o bloco try finalizado normalmente ou devido a uma exceção, o código em finally será o último a ser executado.
O bloco finally também é executado se o código no bloco try ou catch retornar do método.
Usando throws
- Quando um método gera uma exceção que não trata, ele deve declará-la em uma cláusula throws.
tipo-ret nomeMét(lista-parâm) throws lista-exceç {
// corpo
}
lista-exceç é uma lista separada por vírgulas com as exceções que o método pode lançar para fora dele.
Exceções que são subclasses de Error e RuntimeException não precisam ser especificadas na cláusula throws; o Java as assume automaticamente.
Outras exceções precisam ser declaradas na cláusula throws, caso contrário, causam erro de compilação.
Exemplo anterior: ao usar entradas do teclado, a cláusula throws java.io.IOException foi adicionada ao método main() para tratar a exceção de I/O.
O método prompt() pode gerar uma IOException ao ler do teclado, mas não a trata internamente, usando throws para delegar o tratamento para o método chamador.
IOException é totalmente qualificada com o nome do seu pacote, java.io.
O sistema de I/O do Java está no pacote java.io, onde IOException é definida.
Também seria possível importar java.io e referenciar IOException diretamente.
Posted on October 22, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 30, 2024