This content originally appeared on DEV Community and was authored by Java para Iniciantes (Oracle)
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 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.
This content originally appeared on DEV Community and was authored by Java para Iniciantes (Oracle)
Java para Iniciantes (Oracle) | Sciencx (2024-10-22T00:56:54+00:00) Usando finally e throws. Retrieved from https://www.scien.cx/2024/10/22/usando-finally-e-throws/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.