10. Errores controlados: try y except 🛡️
¿Para qué sirve?
A veces el código falla: el usuario escribe letras cuando esperás un número, un archivo no existe, una clave no está en un diccionario.
Sin manejo de errores, Python muestra un traceback y el programa termina. Con try / except podés
atrapar ese fallo, mostrar un mensaje claro y seguir (o salir de forma ordenada).
Lo esencial: try … except
El bloque try es “intentá esto”. Si ocurre un error del tipo que indicás en except, se ejecuta ese bloque en lugar de romper todo.
Varios tipos de error
Podés encadenar varios except para reaccionar distinto según el problema. Es buena práctica ser específico
(por ejemplo ValueError) antes que un except Exception: muy genérico.
else y finally
-
else: se ejecuta si eltryterminó sin excepción (útil para código que solo debe correr cuando todo salió bien). -
finally: se ejecuta siempre (haya error o no): ideal para cerrar archivos, liberar recursos o dejar un mensaje de cierre.
Lanzar errores con raise
Cuando una regla de negocio falla (por ejemplo “edad negativa”), podés disparar vos mismo una excepción para que quien llama a la función la maneje con try/except.
🐍 Desafío: número seguro
Pedí un texto al usuario, convertilo a entero con int() dentro de un try. Si falla, mostrá
“Ingresá solo dígitos” y no intentes usar el número.