Junior
Como funciona a construção try-catch em Java?
sobes.tech IA
Resposta da IA
A construção try-catch é usada para lidar com exceções, que são eventos que interrompem o fluxo normal de execução do programa.
- try: Bloco de código onde potencialmente pode ocorrer uma exceção. Se uma exceção ocorrer dentro do bloco
try, a execução desse bloco é interrompida. - catch: Bloco de código que é executado se uma exceção de um tipo específico (indicado entre parênteses após
catch) ocorrer no blocotrycorrespondente. O Java procura um blococatchadequado para tratar a exceção. Se encontrado, o código nesse bloco é executado. - finally (opcional): Bloco de código que é garantidamente executado após os blocos try-catch, independentemente de uma exceção ter ocorrido ou não, ou se foi capturada. Usado para limpar recursos (fechar arquivos, conexões, etc.).
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
// Código que pode lançar uma exceção
int result = 10 / 0; // ArithmeticException
System.out.println("Esta linha não será executada se uma exceção ocorrer.");
} catch (ArithmeticException e) {
// Tratamento do tipo de exceção específico
System.err.println("Ocorreu um erro aritmético: " + e.getMessage());
} catch (Exception e) {
// Captura genérica para qualquer outro tipo de exceção
System.err.println("Ocorreu um erro desconhecido: " + e.getMessage());
} finally {
// Código que sempre é executado
System.out.println("Bloco finally executado.");
}
System.out.println("O programa continua após try-catch.");
}
}
Comparação entre try-catch e throws:
| Característica | try-catch | throws |
|---|---|---|
| Objetivo | Lidar com exceções | Delegar responsabilidade |
| Local | Bloco de código | Assinatura do método |
| Ação | Captura e trata a exceção | Indica a possibilidade de lançar |