Menu
Coddy logo textTech

Básicos de Try-Catch

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 40 de 59.

Los bloques try-catch en Java se utilizan para manejar excepciones (errores) que podrían ocurrir durante la ejecución del programa. El código que podría lanzar una excepción va en el bloque try, y el código de manejo de errores va en el bloque catch.

Aquí está la estructura básica de un bloque try-catch:

try {
   // Código que podría lanzar una excepción
} catch (ExceptionType e) {
   // Código para manejar la excepción
}

Veámoslo en acción con Integer.parseInt(), que convierte un String en un entero:

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

Después de ejecutar el código anterior, el resultado es:

Error: Not a valid number

challenge icon

Desafío

Fácil

Crea un método llamado divideNumbers que reciba tres argumentos:

  1. Un String (num1) que representa el primer número
  2. Un String (num2) que representa el segundo número
  3. Un entero (index) que representa un índice de arreglo

El método debe:

  1. Crear un arreglo de tamaño 2
  2. Almacenar el valor entero parseado de num1 dividido por el valor entero parseado de num2 en el índice dado
  3. Devolver el valor en el índice dado
  4. Manejar todas las posibles excepciones, devolviendo el mensaje de error correspondiente en su lugar

Los mensajes de retorno deben ser:

  • Para NumberFormatException: "Error: Invalid number format"
  • Para ArithmeticException: "Error: Division by zero"
  • Para ArrayIndexOutOfBoundsException: "Error: Invalid array index"
  • Para una operación exitosa: devolver el resultado como una cadena

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // Escribe tu código aquí
    }
    
    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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo