Cómo Usar Try y Except en Python: Guía Paso a Paso
| Python |
En Python, manejar errores es fundamental para crear programas robustos y evitar que se detengan inesperadamente. Para ello, se utiliza la estructura try y except.
En este tutorial aprenderás cómo usar try y except en Python de manera efectiva, con ejemplos prácticos y buenas prácticas.
¿Qué es Try y Except en Python?
try y except son estructuras de control que permiten capturar y manejar excepciones o errores en Python.
try: Bloque de código que se intenta ejecutar.except: Bloque de código que se ejecuta si ocurre un error en eltry.
Esto evita que el programa se detenga ante un error inesperado.
Sintaxis Básica
try:
# Código que puede causar un error
resultado = 10 / 0
except ZeroDivisionError:
# Código que se ejecuta si ocurre un error
print("No se puede dividir entre cero")
Explicación:
- Python intenta ejecutar el bloque
try. - Si ocurre un
ZeroDivisionError, Python ejecuta el bloqueexcept. - Si no ocurre ningún error, el bloque
exceptse ignora.
Capturar Múltiples Excepciones
Puedes manejar diferentes tipos de errores con varios bloques except:
try:
numero = int(input("Ingresa un número: "))
resultado = 10 / numero
except ValueError:
print("Debes ingresar un número válido")
except ZeroDivisionError:
print("No se puede dividir entre cero")
Capturar Todas las Excepciones
También puedes capturar cualquier tipo de excepción:
try:
archivo = open("archivo_inexistente.txt")
except Exception as e:
print(f"Ocurrió un error: {e}")
⚠️ Nota: Usar
except Exceptioncaptura todos los errores, pero no es recomendable usarlo siempre, ya que puede ocultar errores importantes.
Bloque Else y Finally
Python permite usar else y finally junto con try y except:
try:
numero = int(input("Ingresa un número: "))
resultado = 10 / numero
except ZeroDivisionError:
print("No se puede dividir entre cero")
except ValueError:
print("Debes ingresar un número válido")
else:
print(f"El resultado es {resultado}")
finally:
print("Este bloque se ejecuta siempre, ocurra o no un error")
else: Se ejecuta si no ocurre ningún error.finally: Se ejecuta siempre, útil para liberar recursos como archivos o conexiones.
Buenas Prácticas al Usar Try Except
- Captura errores específicos, no uses
exceptgenérico si no es necesario. - Evita usar
trypara controlar la lógica del programa; úsalo solo para manejar errores. - Usa
finallypara liberar recursos críticos (archivos, conexiones a bases de datos). - Añade mensajes claros para ayudar a depurar el error.
Ejemplo Completo: Manejo de Archivos
try:
with open("datos.txt", "r") as archivo:
contenido = archivo.read()
except FileNotFoundError:
print("El archivo no existe")
except PermissionError:
print("No tienes permisos para leer el archivo")
else:
print(contenido)
finally:
print("Proceso finalizado")