Estrategias de try except para principiantes en Python – ¡Facilita la depuración con el manejo de excepciones!
Si acabas de empezar a aprender Python, te sorprenderás al encontrar la sentencia try except
. Puedes preguntarte: "¿Qué nombres de clases debo memorizar?", "¿Cuándo debo usar esto?". En este artículo, explicaré paso a paso el concepto clave del manejo de excepciones en Python y estrategias de try except para principiantes.
¿Por qué es importante el manejo de excepciones en Python?
Al ejecutar código, las cosas no siempre funcionan como se espera. Cuando un usuario proporciona una entrada incorrecta, cuando falta un archivo o cuando hay una interrupción de red... si el programa se detiene, la experiencia del usuario se perjudica.
Es aquí donde se necesita la sentencia manejo de excepciones de Python (try except).
El objetivo del manejo de excepciones es uno solo: asegurar que el programa siga funcionando de manera segura, incluso cuando ocurre un error.
¿Cómo se ve el try except?
try:
#Código que puede causar problemas
except ClaseDeExcepción as e:
#Lo que hacer cuando ocurre un problema
Ejemplo:
try:
result = 10 / 0
except ZeroDivisionError as e:
print("No se puede dividir por 0:", e)
Aquí, lo clave es la clase de excepción llamada ZeroDivisionError
. Esta clase es la 'etiqueta' que indica qué tipo de error ha ocurrido.
¿Qué es una clase de excepción y hay que memorizarla?
Muchos principiantes de Python hacen esta pregunta:
"¿Debo memorizar todas estas clases de excepción?"
La respuesta es ¡no!
Los desarrolladores reales no memorizan todas las clases de excepción. En su lugar, se familiarizan con algunas clases de excepción que usan con frecuencia, y para el resto, utilizan los mensajes de error cuando surge un problema.
Por ejemplo:
FileNotFoundError: [Errno 2] No such file or directory: 'none.txt'
Y entonces simplemente:
except FileNotFoundError:
Así es como se escribe.
Las 7 clases de excepciones más comunes en Python
Clase de excepción | ¿Cuándo ocurre? |
---|---|
ValueError |
Cuando hay un valor incorrecto |
TypeError |
Cuando los tipos no coinciden |
IndexError |
Cuando se sale del rango de la lista |
KeyError |
Cuando la clave no existe en el diccionario |
ZeroDivisionError |
Cuando se divide por 0 |
FileNotFoundError |
Cuando falta un archivo |
Exception |
La clase principal de todos los errores generales |
Conocerse estas clases es suficiente para manejar la mayoría de las situaciones de manejo de excepciones en Python.
¡Familiarízate con el try except usando estas estrategias para principiantes!
- Si no sabes, primero envuelve en Exception.
try:
dangerous_code()
except Exception as e:
print("Ocurrió un problema:", e)
-
Analiza el mensaje de error y concreta la clase de excepción que necesitas.
-
Confía en la autocompletación de tu IDE (editor de código). La mayoría hace recomendaciones.
-
Conocerás naturalmente los problemas después de enfrentar el mismo problema varias veces.
El manejo de excepciones es un amigo para la depuración
El manejo de excepciones en Python no es solo una herramienta para evitar errores, sino un poderoso instrumento para rastrear errores y encontrar causas.
Los mensajes de excepción suelen aparecer de la siguiente manera:
Traceback (most recent call last):
File "main.py", line 2, in <module>
x = 10 / 0
ZeroDivisionError: division by zero
Al ver esto, puedes conocer el nombre del archivo, el número de línea y el tipo de error de forma precisa. Por lo tanto, un buen uso del manejo de excepciones facilita la depuración.
Clase de excepción adicional – StopIteration
StopIteration
es la excepción que ocurre cuando un objeto iterable (iterador) ya no tiene más elementos para devolver. En un bucle for
normal se maneja automáticamente, por lo que no necesitas preocuparte, pero a menudo debes manejarlo cuando utilizas la función next()
.
Ejemplo:
it = iter([1, 2])
print(next(it)) # 1
print(next(it)) # 2
print(next(it)) # Ocurre StopIteration
O en un código como el siguiente:
try:
category = next(cat for cat in all_categories if cat.slug == category_slug)
except StopIteration:
pass # No hace nada
En este caso, se utiliza simplemente para no hacer nada y seguir adelante si no hay una categoría con el slug especificado. Se puede considerar como una defensa mínima para no interrumpir el flujo del código.
Conclusión – El manejo de excepciones en Python puede parecer difícil al principio, pero te familiarizarás rápidamente
No es necesario memorizar todas las clases de excepción desde el principio o hacer un manejo de excepciones perfecto. En su lugar, toma conciencia de las situaciones problemáticas, envuélvelas con try except
y cultiva el hábito de analizar los mensajes de error.
El manejo de excepciones en Python te ayudará a hacer que tu programa sea más sólido y más fácil de encontrar problemas más adelante. Para los principiantes, la capacidad de supervivencia en situaciones reales es más importante que la perfección. El try except
será el primer paso en ese camino.
En la próxima entrega, también hablaré sobre el flujo de manejo de excepciones extendido con la estructura try except else finally
. 😊
Add a New Comment