Saltearse al contenido

try, except, finally

En Python, el manejo de errores se realiza mediante bloques try, except, y opcionalmente finally. Esto permite controlar el flujo del programa cuando ocurre una excepción (error) y evitar que el programa se detenga abruptamente.

Este ejemplo muestra cómo manejar un error específico, en este caso una división por cero, usando try y except. Si ocurre un error dentro del bloque try, el bloque except se ejecuta para manejarlo de forma segura sin detener el programa.

division_error.py
try:
resultado = 10 / 0
except ZeroDivisionError:
print("Error: No se puede dividir entre cero.")

Este ejemplo captura más de un tipo de excepción. Intenta convertir una cadena no numérica a entero, lo cual lanza un ValueError. Además, se prevé un TypeError por si se produce un error de tipo diferente. Esto permite manejar varios posibles errores de manera separada y clara.

multiples_excepciones.py
try:
numero = int("abc")
except ValueError:
print("Error: No se puede convertir texto a número.")
except TypeError:
print("Error: Tipo de dato no válido.")

El bloque finally siempre se ejecuta sin importar si ocurrió una excepción o no. En este caso, se intenta abrir un archivo que no existe. Si ocurre un FileNotFoundError, se maneja, y luego el bloque finally se ejecuta para indicar que se finalizó el intento, lo cual es útil para liberar recursos o registrar acciones.

finally_bloque.py
try:
archivo = open("inexistente.txt", "r")
contenido = archivo.read()
except FileNotFoundError:
print("Error: El archivo no existe.")
finally:
print("Finalizando intento de lectura.")