Menu
Coddy logo textTech

Try-Catch Básico

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 40 de 59.

Blocos try-catch em Java são usados para tratar exceções (erros) que podem ocorrer durante a execução do programa. O código que pode lançar uma exceção fica dentro do bloco try, e o código de tratamento de erro fica dentro do bloco catch.

Aqui está a estrutura básica de um bloco try-catch:

try {
   // Código que pode lançar uma exceção
} catch (ExceptionType e) {
   // Código para lidar com a exceção
}

Vamos vê-lo em ação com Integer.parseInt(), que converte uma String em um número inteiro:

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

Após executar o código acima, a saída é:

Error: Not a valid number

challenge icon

Desafio

Fácil

Crie um método chamado divideNumbers que recebe três argumentos:

  1. Uma String (num1) representando o primeiro número
  2. Uma String (num2) representando o segundo número
  3. Um inteiro (index) representando um índice de array

O método deve:

  1. Criar um array de tamanho 2
  2. Armazenar o valor inteiro convertido de num1 dividido pelo valor inteiro convertido de num2 no índice fornecido
  3. Retornar o valor no índice fornecido
  4. Tratar todas as exceções possíveis, retornando a mensagem de erro correspondente em vez disso

As mensagens de retorno devem ser:

  • Para NumberFormatException: "Error: Invalid number format"
  • Para ArithmeticException: "Error: Division by zero"
  • Para ArrayIndexOutOfBoundsException: "Error: Invalid array index"
  • Para operação bem-sucedida: retornar o resultado como uma string

Experimente você mesmo

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // Escreva seu código aqui
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num1 = scanner.nextLine();
        String num2 = scanner.nextLine();
        int index = Integer.parseInt(scanner.nextLine());
        
        System.out.println(divideNumbers(num1, num2, index));
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo