Control de errores (try except)
En Python, el bloque try...except
se utiliza para manejar excepciones. Las excepciones son eventos inesperados que pueden ocurrir durante la ejecución de un programa y que pueden interrumpir su flujo normal. El bloque try
permite detectar estas excepciones y manejarlas de manera controlada, evitando que el programa se bloquee. Aquí tienes una explicación básica del try...except
con ejemplos:
Estructura básica del try...except
try:
# Código que puede lanzar una excepción
resultado = 10 / 0 # División por cero (ZeroDivisionError)
except ExcepcionTipo as excepcion:
# Manejo de la excepción
print(f"Se produjo una excepción: {excepcion}")
En el ejemplo anterior, el código dentro del bloque try
realiza una división por cero, lo que provocará una excepción ZeroDivisionError
. El bloque except
captura esta excepción y ejecuta el código de manejo de la excepción, que en este caso imprime un mensaje de error.
Ejemplo con múltiples excepciones:
Puedes manejar diferentes tipos de excepciones en un solo bloque try...except
utilizando varias cláusulas except
.
try:
num = int(input("Ingrese un número: "))
resultado = 10 / num
except ZeroDivisionError as zde:
print(f"Error de división por cero: {zde}")
except ValueError as ve:
print(f"Error de valor no válido: {ve}")
except Exception as e:
print(f"Ocurrió una excepción no manejada: {e}")
En este ejemplo, el programa solicita un número al usuario. Si el usuario ingresa un valor no válido (por ejemplo, una cadena en lugar de un número), se captura una excepción ValueError
. Si el usuario ingresa cero como divisor, se captura una excepción ZeroDivisionError
. Cualquier otra excepción no manejada se captura mediante la cláusula except Exception
.
Utilizando else
en try...except
:
Puedes usar una cláusula else
después de las cláusulas except
para especificar un bloque de código que se ejecutará si no se produce ninguna excepción.
try:
num = int(input("Ingrese un número: "))
resultado = 10 / num
except ZeroDivisionError as zde:
print(f"Error de división por cero: {zde}")
except ValueError as ve:
print(f"Error de valor no válido: {ve}")
else:
print(f"El resultado es {resultado}")
En este ejemplo, si no se produce ninguna excepción, se imprimirá el resultado. Si se produce una excepción, el bloque else
no se ejecutará.
El uso de try...except
es fundamental para manejar situaciones excepcionales en tu código y garantizar que tu programa no se bloquee debido a errores inesperados. Puedes personalizar el manejo de excepciones según las necesidades de tu aplicación y proporcionar una experiencia más robusta a los usuarios.