Cargando...

Manejo de errores en python

Publicación: Febrero 4, 2026

La vida es una de esas cosas en las que nos equivocamos muchas veces. Lo que importa es volver a levantarse y seguir corriendo; o compilando en este caso.

En programación muchas veces se generará un error, o al menos estamos consientes de que es posible que por ejemplo:

  • Una variable en especifico no tenga un valor
  • Que cierta petición no se pueda cumplir
  • Que un cliente esté fuera de servicio y no podamos obtener un dato

Para evitar que alguna de estas situaciones genere un error e interrumpa la ejecución de nuestro programa "cachamos el error", justo como cuando nos lanzan una pelota y la atrapamos.

Por ejemplo, supongamos que queremos abrir un archivo, pero no existe; o al menos no en el directorio especificado:

Si corremos este código, obtendremos el error FileNotFoundError:

La documentación oficial de python nos dice que este error se genera cuando se solicita un archivo o directorio pero no existe. Por lo tanto, al agregar el archivo text.txt al directorio raíz, el error desaparece ya que ahora sí se encontró el archivo.

Sin embargo, podemos emplear las sentencias try, except, else y finally de la clase BaseException para manejar estos errores e “intentar” ejecutar las sentencias. Por ejemplo:

try:
    global lines
    with open("text.txt") as file:
        lines = file.readlines()

except FileNotFoundError:
    file = open("a_file.txt", "w")
    print("Archivo no encontrado. Verificar nombre de archivo y/o directorio")

De esta forma, manejamos la excepción para que nuestro programa siga corriendo. Además, en su lugar mandamos un mensaje al usuario explicando el error.

Otro ejemplo empleando todas las palabras reservadas para manejar las excepciones:

try:
    file = open("a_file.txt")
    a_dictionary = {"key": "value"}
    print(a_dictionary["key"])
    
except FileNotFoundError:
    file = open("a_file.txt", "w")
    file.write("something")
    
except KeyError as error_message:
    print(f"The key {error_message} does not exist.")
    
else:
    content = file.read()
    print(content)
    
finally:
    file.close()
    print("File was closed.")


Etiquetas relacionadas:
Arriba