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 a 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, la salida es:
Error: Not a valid number
Desafío
FácilCrea un método llamado divideNumbers que tome tres argumentos:
- Un String (
num1) que representa el primer número - Un String (
num2) que representa el segundo número - Un entero (
index) que representa un índice de array
El método debe:
- Crear un array de tamaño 2
- Almacenar el valor entero parseado de num1 dividido por el valor entero parseado de num2 en el índice dado
- Devolver el valor en el índice dado
- Manejar todas las excepciones posibles con mensajes de error apropiados
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 operación exitosa: devolver el resultado como una cadena
Hoja de referencia
Los bloques try-catch manejan 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.
Estructura básica:
try {
// Code that might throw an exception
} catch (ExceptionType e) {
// Code to handle the exception
}Ejemplo con Integer.parseInt():
String text = "abc";
try {
int number = Integer.parseInt(text);
System.out.println(number);
} catch (NumberFormatException e) {
System.out.println("Error: Not a valid number");
}Tipos de excepciones comunes:
NumberFormatException- Formato de número inválidoArithmeticException- División por ceroArrayIndexOutOfBoundsException- Índice de arreglo inválido
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));
}
}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
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras