1. Bloques try, except, finally:
En Python, puedes manejar errores y excepciones utilizando bloques try, except y opcionalmente finally para limpiar recursos u operaciones que deben realizarse independientemente del resultado.
# Ejemplo de manejo de excepciones
try:
# Intenta ejecutar código que puede generar una excepción
resultado = 10 / 0 # Esto generará una excepción ZeroDivisionError
except ZeroDivisionError:
# Maneja la excepción específica
print("Error: División por cero")
finally:
# El bloque finally se ejecuta siempre, sin importar si hubo una excepción o no
print("Finalizando el proceso")
En este ejemplo:
try intenta ejecutar la operación 10 / 0, que genera una excepción ZeroDivisionError.except ZeroDivisionError captura esa excepción específica y maneja el error mostrando un mensaje.finally se ejecuta después del try y except, asegurando que cualquier operación de limpieza o cierre se realice, independientemente de si se lanzó una excepción o no.2. Lanzamiento de excepciones (raise):
Puedes lanzar manualmente una excepción en Python usando la palabra clave raise.
# Ejemplo de lanzamiento de excepción
def dividir(a, b):
if b == 0:
raise ValueError("Error: El divisor no puede ser cero")
return a / b
# Llamar a la función dividir con valores
try:
resultado = dividir(10, 0)
except ValueError as e:
print(e) # Imprime el mensaje de error personalizado
En este ejemplo:
dividir verifica si el divisor b es cero.b es cero, se lanza una excepción ValueError con un mensaje personalizado.except ValueError, capturamos la excepción y mostramos el mensaje de error.finally: Es útil para realizar tareas de limpieza, como cerrar archivos o conexiones de base de datos, asegurando que se ejecuten sin importar si ocurrió una excepción.