Introducción
La gestión de errores es un componente crítico para escribir código Python robusto y fiable. Al anticipar posibles errores y gestionar las excepciones con gracia, puede evitar que sus programas se bloqueen inesperadamente y proporcionar información significativa a los usuarios o desarrolladores. En este tutorial, aprenderá a utilizar bloques try
/except
para capturar excepciones, a utilizar el módulo de registro integrado para registrar errores y algunas técnicas comunes de depuración para solucionar problemas de forma eficaz.
Manejo básico de errores con try/except
La forma más sencilla de manejar errores en Python es utilizando un bloque try
/except
. Esto te permite ‘atrapar’ excepciones y manejarlas de forma controlada.
Ejemplo: Atrapando un Error de División
try:
= 10 / 0
result except ZeroDivisionError:
print("Error: Division by zero is not allowed!")
En este ejemplo, dividir por cero genera un error ZeroDivisionError
, que es capturado por el bloque except
, evitando que el programa se bloquee.
Uso de Bloques Except Múltiples
Puedes manejar diferentes tipos de excepciones con múltiples bloques except
. Esto es útil cuando esperas diferentes tipos de errores en tu código.
Ejemplo: Manejo de Múltiples Excepciones
try:
= int("abc") # Esto generará un ValueError
number = 10 / number
result except ValueError:
print("Error: The provided value is not a valid integer!")
except ZeroDivisionError:
print("Error: Division by zero is not allowed!")
Depuración con Registro
En lugar de simplemente imprimir los errores, a menudo es más útil registrarlos. El módulo logging
proporciona un marco flexible para emitir mensajes de registro desde los programas Python.
Ejemplo: Registro de Errores
import logging
# Configurar el registro
=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s")
logging.basicConfig(level
try:
= int("abc") # Esto generará un ValueError
value except ValueError as e:
"ValueError occurred: %s", e) logging.error(
En este ejemplo, si se produce un error, se registrará con una marca de tiempo y un nivel de error, lo que resulta muy útil para depurar aplicaciones de mayor tamaño.
Depurando con el depurador de Python (pdb)
Para una depuración más profunda, el depurador integrado de Python (pdb
) te permite recorrer tu código de forma interactiva.
Ejemplo: Uso de pdb
import pdb
def faulty_function():
= 10
a = 0
b # Iniciar el depurador aquí
pdb.set_trace() = a / b
result return result
faulty_function()
Cuando ejecute este código, el depurador detendrá la ejecución en pdb.set_trace()
, lo que le permitirá inspeccionar variables y recorrer el código para identificar problemas.
Conclusión
La depuración y la gestión eficaz de errores son habilidades esenciales para cualquier programador de Python. Mediante el uso de bloques try
/except
, registro y herramientas como pdb
, puede crear código que gestione con elegancia los errores inesperados y sea más fácil de mantener y solucionar. Practique estas técnicas en sus proyectos para construir aplicaciones más robustas y fiables.
Lecturas adicionales
- Python para principiantes: tu primer script
- Sintaxis y variables en Python
- Flujo de control y bucles en Python
Feliz programación, y que tus sesiones de depuración sean cortas y fructíferas!
Explorar más artículos
Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.
Reutilización
Cómo citar
@online{kassambara2024,
author = {Kassambara, Alboukadel},
title = {Manejo de Errores en Python},
date = {2024-02-05},
url = {https://www.datanovia.com/es/learn/programming/python/advanced/error-handling.html},
langid = {es}
}