Use exception handling

O tratamento de exceções em Java é uma técnica que permite lidar com situações excepcionais ou erros durante a execução do programa. Ele ajuda a manter o controle do fluxo do programa mesmo quando ocorrem erros. Vamos ver um exemplo simples de como usar o tratamento de exceções em Java:

import java.util.Scanner;

public class ExemploExceptionHandling {
    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: ");
            int numero = Integer.parseInt(scanner.nextLine());

            // Dividir 10 pelo número fornecido
            int resultado = 10 / numero;

            // Exibir o resultado
            System.out.println("Resultado da divisão: " + resultado);

        } catch (ArithmeticException e) {
            // Lidar com a exceção de divisão por zero
            System.out.println("Erro: Divisão por zero não permitida.");

        } catch (NumberFormatException e) {
            // Lidar com a exceção de entrada inválida
            System.out.println("Erro: Por favor, digite um número inteiro válido.");

        } finally {
            // Fechar o scanner, independentemente do resultado
            scanner.close();
        }
    }
}

Neste exemplo:

  1. O programa pede ao usuário para digitar um número inteiro.
  2. Ele tenta converter a entrada do usuário para um número inteiro (Integer.parseInt()).
  3. Uma divisão é realizada usando o número fornecido.
  4. O código dentro do bloco try é monitorado em busca de exceções específicas (como ArithmeticException e NumberFormatException).
  5. Se uma exceção ocorrer, o controle é transferido para o bloco catch correspondente.
  6. O bloco finally é usado para garantir que o scanner seja fechado, independentemente do resultado.

Esse é apenas um exemplo básico, e o tratamento de exceções pode ser adaptado para lidar com uma variedade de situações. É uma prática recomendada para melhorar a robustez e a manutenção do código, proporcionando uma melhor experiência para o usuário final.