Certainly! Here’s an example that demonstrates the use of try and catch blocks to handle exceptions in Java:
import java.util.Scanner;
public class ExampleTryCatch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
// Solicitar ao usuário para digitar um número
System.out.print("Digite um número inteiro: ");
String userInput = scanner.nextLine();
// Tentar converter a entrada do usuário para um número inteiro
int number = Integer.parseInt(userInput);
// Imprimir o resultado
System.out.println("Número digitado: " + number);
// Dividir por zero para gerar uma ArithmeticException
int resultado = 10 / 0;
} catch (NumberFormatException e) {
// Lidar com exceção de formato de número inválido
System.out.println("Erro: Por favor, digite um número inteiro válido.");
} catch (ArithmeticException e) {
// Lidar com exceção de divisão por zero
System.out.println("Erro: Divisão por zero não permitida.");
} finally {
// Fechar o scanner
scanner.close();
}
}
}
Neste exemplo:
- O bloco
trycontém o código que pode gerar exceções. - Cada bloco
catchcorresponde a um tipo específico de exceção que pode ser gerada no blocotry. - Se uma exceção ocorrer, o controle será transferido para o bloco
catchcorrespondente. Se nenhuma exceção ocorrer, o blococatchserá ignorado. - O bloco
finallyé opcional e contém código que será executado independentemente de ocorrer ou não uma exceção. Geralmente, é usado para liberar recursos (como fechar um scanner, como neste exemplo).
Ao utilizar blocos try e catch, você pode tornar seu código mais robusto e lidar com situações inesperadas de maneira mais controlada.