Manejo de Errores y Excepciones en Python
El manejo de errores en Python se realiza mediante el uso de excepciones. Las excepciones son eventos que pueden interrumpir el flujo normal de un programa y requieren que el programa maneje el error de manera controlada.
Manejo básico de excepciones
En Python, podemos usar el bloque try...except
para manejar excepciones. El código dentro del bloque try
se ejecuta normalmente, y si ocurre un error, el control pasa al bloque except
.
try:
resultado = 10 / 0
except ZeroDivisionError:
print("¡No puedes dividir por cero!")
Excepciones generales
Podemos capturar excepciones generales usando except
sin especificar un tipo de error. Esto captura cualquier tipo de excepción que ocurra en el bloque try
.
try:
resultado = 10 / "hola"
except:
print("Ocurrió un error en el programa")
Capturar múltiples excepciones
También podemos capturar múltiples tipos de excepciones utilizando varios bloques except
para cada tipo de error específico.
try:
valor = int(input("Ingresa un número: "))
resultado = 10 / valor
except ValueError:
print("¡Eso no es un número!")
except ZeroDivisionError:
print("¡No puedes dividir por cero!")
Bloque else
Podemos usar el bloque else
después del bloque try...except
para especificar un código que se ejecute si no ocurre ninguna excepción.
try:
resultado = 10 / 2
except ZeroDivisionError:
print("¡No puedes dividir por cero!")
else:
print(f"El resultado es {resultado}")
Bloque finally
El bloque finally
se ejecuta sin importar si se ha producido una excepción o no. Se suele usar para realizar tareas de limpieza, como cerrar archivos o liberar recursos.
try:
archivo = open("archivo.txt", "r")
except FileNotFoundError:
print("El archivo no fue encontrado")
finally:
print("Se cerró el archivo")
Excepciones personalizadas
Podemos crear nuestras propias excepciones personalizadas definiendo una clase que herede de la clase Exception
.
class MiError(Exception):
"""Excepción personalizada"""
pass
try:
raise MiError("Ocurrió un error personalizado")
except MiError as e:
print(f"Error: {e}")
Conclusión
El manejo de errores y excepciones es una parte crucial de la programación en Python. Usar try...except
nos permite hacer que nuestros programas sean más robustos y resistentes a errores inesperados.