Café y Código
← Volver al CatálogoMódulo 06 · Excepciones

Manejo de Excepciones y Control de Errores

20 desafíos graduales para dominar el control de errores (try / catch o try / except), validación de entradas, reintentos y software a prueba de caídas.

💡 Sintaxis de Excepciones según tu lenguaje:
🐍 Python:try:
  n = int(input())
except ValueError:
  print("Inválido")
☕ Java:try {
  int n = sc.nextInt();
} catch (Exception e) {
  System.out.println();
}
🎮 C# / C++:try {
  int n = int.Parse(s);
} catch (FormatException) {
  Console.WriteLine();
}
⚡ JavaScript / PHP:try {
  let n = Number(str);
} catch (err) {
  console.error(err);
}
🔍 Filtro de búsqueda

📋 Listado Rápido de Excepciones (1 al 20)

20 ítems

🎯 Resolución Guiada y Checklists de Progreso

01
Mecanismos Básicos

1. Provocar y capturar una excepción

0 / 5

Enunciado: Provocar intencionalmente un error de conversión o división e interceptarlo con un bloque try/catch (try/except en Python) imprimiendo un aviso.

02
Mecanismos Básicos

2. Capturar entrada no numérica

0 / 5

Enunciado: Solicitar un número entero al usuario y capturar el error si ingresa texto, evitando que el programa se detenga abruptamente.

03
Mecanismos Básicos

3. Controlar división por cero

0 / 5

Enunciado: Solicitar dividendo y divisor; si el divisor es 0, capturar la excepción específica de división por cero y mostrar un aviso.

04
Mecanismos Básicos

4. Convertir texto a número de forma segura

0 / 5

Enunciado: Crear un algoritmo que intente parsear una cadena a decimal; si falla, retornar 0.0 y notificar el formato inválido.

05
Mecanismos Básicos

5. Acceder a una posición o índice inválido

0 / 5

Enunciado: Intentar acceder al índice 10 de un arreglo de 3 elementos dentro de un bloque try para capturar el error de índice fuera de rango.

06
Validación de Datos

6. Validar edad válida

0 / 5

Enunciado: Solicitar la edad del usuario; si ingresa letras o un número negativo, capturar la excepción o lanzar un aviso hasta obtener un valor coherente.

07
Validación de Datos

7. Validar número dentro de un rango [1, 100]

0 / 5

Enunciado: Solicitar un entero entre 1 y 100; capturar errores de tipo y notificar si el valor está fuera del rango establecido.

08
Validación de Datos

8. Validar nota académica (1.0 a 7.0 / 0 a 100)

0 / 5

Enunciado: Ingresar una nota con decimales controlando excepciones de tipeo y asegurando que la nota sea válida antes de calcular promedios.

09
Validación de Datos

9. Validar opción de menú numérico

0 / 5

Enunciado: Leer la opción elegida por el usuario para un menú; si la entrada no es un entero válido, evitar la caída del sistema.

10
Validación de Datos

10. Manejar múltiples excepciones en un mismo bloque

0 / 5

Enunciado: Construir un bloque try que pueda lanzar tanto error de formato no numérico como error de división por cero, capturando cada uno por separado.

11
Funciones Seguras

11. Función que valida un número entero

0 / 5

Enunciado: Crear la función solicitarEntero(mensaje) que pida un dato repetidamente con un bucle hasta que el usuario ingrese un entero válido.

12
Funciones Seguras

12. Función de división segura

0 / 5

Enunciado: Crear la función dividirSeguro(a, b) que realice la división dentro de un try y retorne null/None o 0 si ocurre una división por cero.

13
Funciones Seguras

13. Función para solicitar edad con reintento

0 / 5

Enunciado: Crear la función pedirEdad() que reintente la lectura mediante un ciclo hasta que se ingrese un entero entre 0 y 120.

14
Funciones Seguras

14. Función para solicitar opción de menú protegida

0 / 5

Enunciado: Crear la función obtenerOpcion(maxOpciones) que capture cualquier error tipográfico y reitere la solicitud hasta recibir una opción válida.

15
Funciones Seguras

15. Menú principal protegido contra caídas

0 / 5

Enunciado: Implementar un bucle de menú interactivo completo envuelto en funciones que nunca finalice por errores de entrada del usuario.

16
Estructuras y Excepciones

16. Operaciones seguras con arreglos

0 / 5

Enunciado: Crear la función obtenerElementoSeguro(arreglo, indice) que capture IndexOutOfBounds / IndexError y retorne un valor por defecto.

17
Estructuras y Excepciones

17. Búsqueda segura en posiciones inexistentes

0 / 5

Enunciado: Recorrer un arreglo consultando posiciones dinámicas con try/catch para registrar intentos fallidos sin detener la iteración.

18
Estructuras y Excepciones

18. Acceso seguro a claves de diccionarios

0 / 5

Enunciado: Crear la función obtenerValorClave(diccionario, clave) que intente leer la clave y capture KeyError / Exception si no existe.

19
Estructuras y Excepciones

19. Procesar colección ignorando datos inválidos

0 / 5

Enunciado: Dada una lista de cadenas (ej. ["10", "20", "abc", "30"]), intentar convertirlas a enteros acumulando la suma de los datos válidos e ignorando los erróneos.

20
Desafío Integrador

20. Sistema de Gestión Robusto e Inmune a Errores

0 / 5

Enunciado: Crear un mini-sistema (ej. Registro de Alumnos o Productos) con menú CRUD que maneje lecturas de teclado, conversiones, rangos y búsquedas en arreglos/diccionarios sin caerse jamás por excepciones.

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.