CURSO GRATUITO · MÓDULO 4 · LECCIÓN 4.7

Excepciones y manejo de errores

Crea funciones reutilizables, organiza registros y colecciones y controla errores para construir programas fiables.

Todas las lecciones son gratuitas. Puedes leer y practicar sin crear una cuenta.

Al terminar podrás

  • Distinguir errores de sintaxis de excepciones durante la ejecución.
  • Manejar ValueError, KeyError e IndexError con bloques except específicos.
  • Utilizar else y finally para completar el control de errores.

Vamos paso a paso

Una excepción interrumpe el flujo normal de ejecución. ValueError puede aparecer al convertir texto no numérico en entero; KeyError al consultar una clave inexistente en un diccionario; IndexError al acceder a una posición que no existe en una lista.

try contiene instrucciones que podrían fallar y except captura el tipo de excepción esperado. Puedes utilizar varios bloques except para responder de manera distinta a cada problema. Evita un except general que oculte defectos reales.

else se ejecuta cuando el bloque try termina sin excepción; finally se ejecuta al final tanto si ocurrió un error como si no. Esta estructura permite separar el procesamiento correcto, los mensajes de error y las tareas que siempre deben completarse.

EJEMPLO EN PYTHON

registro = {"edad": "veinte"}
try:
    edad = int(registro["edad"])
except KeyError:
    print("Falta el campo edad")
except ValueError:
    print("La edad debe ser numérica")
else:
    print(f"Edad: {edad}")
finally:
    print("Validación finalizada")

RESULTADO

La edad debe ser numérica
Validación finalizada

¿Qué está pasando?

  1. try intenta leer el campo y convertirlo a entero.
  2. ValueError activa el bloque que explica qué tipo de dato se esperaba.
  3. finally presenta su mensaje aunque la conversión no haya funcionado.

Errores que conviene evitar

  • Capturar todos los errores con except: sin distinguir el motivo.
  • Pensar que else se ejecuta cuando ocurre una excepción.

AHORA TE TOCA A TI

Manejar una clave inexistente

Lee un nombre y una edad. Si la edad está vacía, deja esa clave fuera del diccionario persona. Convierte la edad a entero: captura KeyError si falta la clave y ValueError si el texto no es numérico. Usa else para mostrar una edad válida y finally para mostrar Validación finalizada.

PISTAS

  • Lee dos líneas y agrega la clave edad solo si la segunda no está vacía.
  • Coloca int(persona["edad"]) dentro del bloque try.
  • Captura KeyError si falta la clave y ValueError si el texto no representa un entero.
  • Usa else para mostrar la edad convertida cuando no hubo errores y finally para mostrar siempre Validación finalizada.

Tu espacio de trabajo

Cómo usar este laboratorio

Python · nivel principiante
  1. 01EscribeModifica el archivo main.py en el editor.
  2. 02EjecutaCorre tu programa o comprueba el ejercicio.
  3. 03ObservaRevisa la consola y, cuando corresponda, el gráfico.
Instrucciones de esta actividad

Lee un nombre y una edad. Si la edad está vacía, deja esa clave fuera del diccionario persona. Convierte la edad a entero: captura KeyError si falta la clave y ValueError si el texto no es numérico. Usa else para mostrar una edad válida y finally para mostrar Validación finalizada.

Entorno de desarrollo

Laboratorio de Python

Al ejecutar se inicia Python
main.pyPYTHON
Archivo de práctica
Loading...

Teclas útiles en el móvil

Python en el navegador · entorno aislado8 líneas