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?
- try intenta leer el campo y convertirlo a entero.
- ValueError activa el bloque que explica qué tipo de dato se esperaba.
- 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
- 01EscribeModifica el archivo main.py en el editor.
- 02EjecutaCorre tu programa o comprueba el ejercicio.
- 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
Teclas útiles en el móvil