Saltar al contenido

¿Cómo usar try, except, else y finally en Python? Guía completa con ejemplos prácticos

27/04/2025
¿Cómo usar try except else y finally?
Compartir:
Índice de Contenido

Introducción al manejo de excepciones en Python

En el desarrollo de aplicaciones con Python, es fundamental saber cómo gestionar los errores que pueden ocurrir durante la ejecución de un programa. El lenguaje proporciona una estructura muy potente para ello: try, except, else y finally. En esta guía completa aprenderás cómo utilizar try, except, else y finally en Python con ejemplos prácticos y explicaciones paso a paso.

¿Qué son try, except, else y finally?

Estas son palabras clave que permiten manejar excepciones o errores de forma controlada. Su uso adecuado mejora la robustez y fiabilidad de tus programas.

try

El bloque try contiene el código que puede generar una excepción. Si ocurre un error, el flujo pasa al bloque except.

except

Aquí se manejan las excepciones. Puedes capturar errores específicos o cualquier excepción genérica.

else

El bloque else se ejecuta solo si no ocurre ninguna excepción en el bloque try.

finally

El bloque finally se ejecuta siempre, ocurra o no una excepción. Es ideal para liberar recursos o ejecutar tareas de limpieza.

¿Cómo usar try y except en Python?

La forma más básica de manejar excepciones en Python es utilizando solo try y except. Veamos un ejemplo:


try:
    numero = int(input("Introduce un número: "))
    print("El número es:", numero)
except ValueError:
    print("¡Eso no es un número válido!")
    

En este ejemplo, si el usuario introduce algo que no se puede convertir a entero, se lanza una excepción ValueError y se muestra el mensaje personalizado.

Captura de varias excepciones

Puedes capturar diferentes tipos de excepciones utilizando múltiples bloques except:


try:
    resultado = 10 / int(input("Divisor: "))
except ZeroDivisionError:
    print("No puedes dividir por cero.")
except ValueError:
    print("Debes introducir un número.")
    

¿Cómo se usa else en try-except?

El bloque else se ejecuta si no se produce ninguna excepción en el bloque try. Esto es útil para colocar el código que solo debe ejecutarse cuando todo ha ido bien.


try:
    numero = int(input("Introduce un número positivo: "))
except ValueError:
    print("Eso no es un número válido.")
else:
    print("¡Buen trabajo! Has introducido:", numero)
    

Aquí, el mensaje de éxito solo se muestra si la conversión a entero fue correcta.

Quizás también te interese:  ¿Cómo retornar múltiples valores desde una función? Métodos y ejemplos en programación

¿Para qué sirve finally en Python?

El bloque finally se utiliza para ejecutar código que debe ejecutarse siempre, como cerrar archivos, liberar conexiones o recursos, independientemente de si ocurrió o no una excepción.


try:
    archivo = open(datos.txt, r)
    contenido = archivo.read()
    print(contenido)
except FileNotFoundError:
    print("El archivo no existe.")
finally:
    archivo.close()
    print("Archivo cerrado.")
    
Quizás también te interese:  ¿Qué es pip y cómo instalar paquetes externos en Python? Guía completa para principiantes


En este ejemplo, el archivo se cierra siempre, aunque no exista o ocurra un error durante la lectura.

Ejemplo completo: try, except, else y finally

A continuación, te mostramos cómo combinar todos los bloques en una sola estructura para un manejo de errores más robusto:


try:
    archivo = open(notas.txt, r)
    texto = archivo.read()
except FileNotFoundError:
    print("El archivo notas.txt no se encontró.")
else:
    print("Contenido del archivo:")
    print(texto)
finally:
    try:
        archivo.close()
        print("Archivo cerrado correctamente.")
    except NameError:
        print("No fue necesario cerrar el archivo.")
    

En este ejemplo:

  • try: intenta abrir y leer el archivo.
  • except: captura el error si el archivo no existe.
  • else: muestra el contenido si todo salió bien.
  • finally: intenta cerrar el archivo siempre.

Consejos para el manejo de excepciones en Python

  • Evita capturar excepciones genéricas (solo except:) salvo que sea estrictamente necesario.
  • Utiliza except Exception as e para depurar o registrar errores.
  • Coloca solo el código que puede fallar dentro de try, para evitar errores innecesarios.
  • Utiliza finally para liberar recursos siempre.

Resumen: ¿Cómo se usan try, except, else y finally?

Quizás también te interese:  ¿Cómo ejecutar un script de Python desde la terminal paso a paso? Guía fácil para principiantes

El uso correcto de try, except, else y finally en Python te permite gestionar errores de manera eficiente, escribir código más seguro y profesional, y asegurarte de que tus programas sean robustos y fáciles de mantener. Practica estos conceptos con los ejemplos propuestos y adáptalos a tus propios proyectos.

Compartir: