Saltar al contenido
Portada » Cómo manejar excepciones en Python

Cómo manejar excepciones en Python

Manejar excepciones es una parte crucial del desarrollo de software robusto. En Python, las excepciones permiten controlar errores y situaciones inesperadas de manera estructurada. A continuación, te explicamos cómo manejar excepciones en Python de manera efectiva.

Introducción a las excepciones

Una excepción en Python es un evento que interrumpe el flujo normal de un programa cuando ocurre un error. Para manejar estas excepciones, Python utiliza bloques try y except.

Uso básico de try y except

El uso más simple de manejo de excepciones en Python implica los bloques try y except. Cuando se produce una excepción en el bloque try, el control del programa pasa al bloque except.

try:
    # Código que puede lanzar una excepción
    numero = int(input("Introduce un número: "))
    resultado = 10 / numero
    print(f"El resultado es {resultado}")
except ZeroDivisionError:
    # Manejo específico de la excepción ZeroDivisionError
    print("Error: No se puede dividir entre cero.")
except ValueError:
    # Manejo específico de la excepción ValueError
    print("Error: Entrada no válida. Por favor, introduce un número.")

En este ejemplo, se manejan dos tipos de excepciones: ZeroDivisionError y ValueError.

Uso de else y finally

El bloque else se ejecuta si no se produce ninguna excepción, y el bloque finally se ejecuta siempre, independientemente de si se produjo una excepción o no.

try:
    numero = int(input("Introduce un número: "))
    resultado = 10 / numero
except ZeroDivisionError:
    print("Error: No se puede dividir entre cero.")
except ValueError:
    print("Error: Entrada no válida. Por favor, introduce un número.")
else:
    print(f"El resultado es {resultado}")
finally:
    print("La operación ha finalizado.")

En este ejemplo, si no se produce ninguna excepción, se ejecuta el bloque else. El bloque finally se ejecuta siempre, lo que lo hace útil para la limpieza de recursos.

Manejo de múltiples excepciones

Python permite manejar múltiples excepciones en un solo bloque except utilizando una tupla de excepciones.

try:
    numero = int(input("Introduce un número: "))
    resultado = 10 / numero
except (ZeroDivisionError, ValueError) as e:
    print(f"Se produjo un error: {e}")

En este caso, tanto ZeroDivisionError como ValueError son manejadas en el mismo bloque except.

Creación de excepciones personalizadas

Además de manejar las excepciones incorporadas, Python permite crear excepciones personalizadas para situaciones específicas.

class MiExcepcionPersonalizada(Exception):
    pass
try:
raise MiExcepcionPersonalizada("Se produjo un error personalizado")
except MiExcepcionPersonalizada as e:
print(e)

Aquí, se define una excepción personalizada MiExcepcionPersonalizada y se lanza usando raise.

Conclusión

El manejo de excepciones es esencial para crear aplicaciones robustas y mantener el flujo del programa en situaciones inesperadas. Usando bloques try, except, else y finally, junto con excepciones personalizadas, puedes controlar eficazmente los errores en tu código Python.

Etiquetas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *