excepciones-en-python

Excepciones en Python

En Python, las excepciones son eventos que representan un error, y que que interrumpen el flujo normal de ejecución de un programa

Las excepciones se utilizan para señalar condiciones excepcionales que requieren un manejo especial (por ejemplo, la división por cero, la referencia a una variable no definida o la apertura de un archivo que no existe)

Algunas de las características de las excepciones son:

  • Interrupción del flujo normal: Las excepciones alteran el flujo normal del programa.
  • Excepciones personalizadas: Permiten manejar errores de manera específica y controlada.
  • Herencia de excepciones: Las excepciones en Python son clases (esto permite crear jerarquías de excepciones).

Excepciones base

En Python todas las excepciones heredan de las Excepciones base,

  • Exception: Clase base para todas las excepciones en Python, excepto las que indican la salida del intérprete.
  • BaseException: Clase base para todas las excepciones, incluidas aquellas que se utilizan para controlar la finalización del programa.

Excepciones Estándar en Python

Python incluye una gran cantidad de excepciones estándar que cubren diversos errores y condiciones excepcionales. Vamos con una lista de algunas de las excepciones estándar más comunes.

Excepciones de error en tiempo de ejecución

try:
    resultado = 1 / 0
except ZeroDivisionError as e:
    print(f"Error de división por cero: {e}")
  • ArithmeticError: Clase base para errores numéricos
  • ZeroDivisionError: Se lanza cuando se intenta dividir por cero
  • OverflowError: Se lanza cuando un cálculo numérico excede el límite máximo permitido
  • FloatingPointError: Se lanza cuando se produce un error en una operación de punto flotante

Excepciones de operaciones de entrada/salida

try:
    with open('archivo_que_no_existe.txt', 'r') as archivo:
        contenido = archivo.read()
except FileNotFoundError as e:
    print(f"Archivo no encontrado: {e}")
  • IOError: Clase base para errores de entrada/salida
  • FileNotFoundError: Se lanza cuando un archivo o directorio no se encuentra
  • PermissionError: Se lanza cuando una operación no tiene los permisos adecuados

Excepciones de argumentos

try:
    numero = int("abc")
except ValueError as e:
    print(f"Error de valor: {e}")
  • TypeError: Se lanza cuando una operación o función se aplica a un objeto de tipo inapropiado
  • ValueError: Se lanza cuando una operación o función recibe un argumento con el tipo correcto pero un valor inapropiado

Excepciones de variables y atributos

try:
    print(variable_no_definida)
except NameError as e:
    print(f"Nombre de variable no encontrado: {e}")
  • NameError: Se lanza cuando una variable local o global no se encuentra
  • AttributeError: Se lanza cuando se intenta acceder a un atributo que no existe en un objeto

Excepciones del sistema

  • SystemError: Se lanza cuando se detecta un error interno en Python
  • KeyboardInterrupt: Se lanza cuando se interrumpe la ejecución del programa mediante la entrada del usuario (por ejemplo, Ctrl+C)