Manejo de Errores en Python 🛡️
- Coachs Desarrollo
- 19 ago
- 5 Min. de lectura

¡Ups, algo salió mal! Tu guía rápida para entender el Manejo de Errores 💥
¿Alguna vez un programa se te ha cerrado de golpe con un mensaje de error que no entiendes? ¡Es frustrante! 🤯 Pero no te preocupes, esto es normal. El manejo de errores es una técnica esencial en programación que evita que tu código se "rompa" inesperadamente.
Imagina que tu programa es un auto. 🚗 A veces, las cosas no salen como planeado: un usuario ingresa una letra en lugar de un número, un archivo que intentas abrir no existe, o intentas dividir algo por cero. Sin el manejo de errores, el auto simplemente se detiene. 🛑
Con el manejo de errores, tu código se convierte en un auto con un mecánico a bordo. 🔧 Si algo falla, el mecánico (el código de manejo de errores) entra en acción para arreglarlo o, al menos, avisarle al conductor (el usuario) qué está pasando, en lugar de solo detenerse. 💬
En resumen, el manejo de errores hace que tu código sea:
Más robusto: Se prepara para lo inesperado. 💪
Más amigable: Le da al usuario mensajes útiles en lugar de errores técnicos. 😊
Más seguro: Previene fallas que podrían ser graves. ✅
Try & Except: Tus superpoderes contra los errores inesperados ✨
El manejo de errores se basa en una estructura simple, pero poderosa: el bloque try...except. Piensa en ellos como un "intento y captura". 🎯
El bloque try es tu zona de riesgo. Pones aquí el código que podría fallar. Es tu “zona de pruebas”.
El bloque except es tu plan B. Si algo sale mal en el try, el programa salta directamente a este bloque para ejecutar un código alternativo, como mostrar un mensaje de error. 🤝
Ejemplo simple: Convertir un texto a número

¡Cuidado con el cero! El caso de ZeroDivisionError 🚫
A veces, no queremos capturar cualquier error, sino uno muy específico para darle una respuesta más precisa al usuario. Aquí es donde los errores con nombre nos salvan. 🦸♂️
Uno de los más comunes es el ZeroDivisionError. Como su nombre lo indica, ¡ocurre cuando intentas dividir un número por cero! 🔢 Matemáticamente no tiene sentido, y para tu programa, es una señal de que algo está mal. ⚠️
Ejemplo: La calculadora que no explota

Cuando las letras quieren ser números: Dominando el ValueError 🤯
Otro error muy común es el ValueError. Este ocurre cuando una función recibe un valor del tipo correcto (por ejemplo, un texto), pero el valor en sí mismo no es apropiado para lo que la función necesita (por ejemplo, el texto no se puede convertir en un número). 🧐
Es el típico caso de cuando usas int(input()) y el usuario escribe "hola" en lugar de 10.
Ejemplo: Pidiendo un número de forma segura

Más allá del error: Else y Finally, tus aliados secretos 🤫
Los bloques try y except son el dúo dinámico, pero tienen dos amigos que pueden hacer tu código aún más limpio y funcional: else y finally.


¡A practicar! 3 Retos de Manejo de Errores para novatos 🚀
¡Ahora que ya sabes la teoría, es hora de ponerla en práctica! Intenta resolver estos desafíos:
Calculadora básica: Crea una calculadora que pida dos números y una operación (+, -, *, /). Usa try y except para manejar:
ValueError: Si el usuario no ingresa números.
ZeroDivisionError: Si intenta dividir por cero.
Acceso a listas: Crea una lista de nombres. 📋 Pídele al usuario un número de índice. Usa try...except para:
Intentar imprimir el nombre en ese índice.
Capturar IndexError si el índice no existe.
Uso de else y finally: Pídele al usuario un número.
En el try, intenta convertirlo.
En el except, avísale si el valor es incorrecto. ❌
En el else, si la conversión fue exitosa, imprime un mensaje de "¡Éxito!". ✅
En el finally, imprime un mensaje de despedida como "¡Gracias por usar el programa!". 👋
¡A practicar! 3 Retos de Manejo de Errores para novatos 🚀
¡Ahora que ya sabes la teoría, es hora de ponerla en práctica! Intenta resolver estos desafíos:
Validación de entrada: Pídele al usuario que ingrese su edad. Usa try y except para capturar un ValueError si la entrada no es un número. Si la conversión es exitosa, usa una condición para verificar si la edad es un valor razonable (por ejemplo, entre 1 y 120).
Lector de archivos seguro: Pídele al usuario el nombre de un archivo de texto. Intenta abrir y leer el archivo. Usa un bloque except para capturar un FileNotFoundError si el archivo no existe y muestra un mensaje amigable.
Calculadora básica: Crea una calculadora que pida dos números y una operación (+, -, *, /). Usa try y except para manejar:
ValueError: Si el usuario no ingresa números.
ZeroDivisionError: Si intenta dividir por cero.
Proyecto en acción: Construye tu juego de adivinanza ¡a prueba de errores! 🔐
¿Estás listo para un desafío final? Vamos a crear un juego de adivinanza de números básico usando todo lo que aprendiste, sin usar estructuras de datos o funciones.
Paso 1: El número secreto Elige un número secreto (por ejemplo, el 7) y guárdalo en una variable.

Paso 2: Bucle de adivinanza Usa un bucle while True para que el juego continúe hasta que el usuario adivine el número correcto. 🔁
Paso 3: Maneja las entradas y da pistas Dentro de un bloque try, pide al usuario que ingrese su intento. Luego, convierte su entrada a un número entero. Si la conversión falla, usa un except para capturar el ValueError. Si la conversión es exitosa, usa if, elif y else para:
Avisar si su intento es "más bajo".
Avisar si su intento es "más alto".
Si el número es correcto, muestra un mensaje de "¡Correcto!" y usa break para terminar el juego.
Paso 4: Usa else y finally
Usa un bloque else para mostrar un mensaje de "¡Intenta de nuevo!" si el intento no fue correcto.
Usa un bloque finally para mostrar un mensaje de despedida como "¡Gracias por jugar!" una vez que el juego termine.




Comentarios