Manejo de excepciones
Clase 28 de 31 • Curso de Introducción al Pensamiento Computacional con Python
Resumen
¿Qué es el manejo de excepciones?
Las excepciones son un concepto fundamental en programación que se refiere a los errores que pueden ocurrir durante la ejecución de un programa. A pesar de ser inevitables, las excepciones se pueden manejar de manera que el programa no "explote" o falle espectacularmente. En Python, y muchos otros lenguajes, se pueden utilizar estructuras específicas para tratar estos errores y asegurar que el programa continúe funcionando de manera eficiente.
¿Cómo se manejan las excepciones en Python?
Python proporciona una estructura clara para el manejo de excepciones mediante el uso de las palabras clave try
, except
, y finally
. Aunque se diferencian en otros lenguajes como JavaScript, donde se usa try-catch
, el concepto básico permanece: intentar una operación, capturar posibles errores y manejar el resultado.
¿Cómo implementar try
y except
?
Vamos a ver un ejemplo práctico para ilustrar cómo usar try
y except
en Python. Supongamos que queremos dividir elementos de una lista por un divisor. Un error común aquí puede ser la división por cero, lo cual queremos manejar.
Implementación básica de la función:
def divide_elementos(lista, divisor):
return [i / divisor for i in lista]
Para manejar la excepción de división por cero, podemos mejorar esta función con try
y except
:
def divide_elementos(lista, divisor):
try:
return [i / divisor for i in lista]
except ZeroDivisionError as e:
print("Error:", e)
return lista
En este código, try
intenta dividir cada elemento de la lista por el divisor. Si ocurre un ZeroDivisionError
, el flujo del programa se captura en except
, donde imprimimos el error y devolvemos la lista original.
¿Por qué es importante manejar las excepciones?
Manejar las excepciones adecuadamente evita que el programa falle catastróficamente. En lugar de que el funcionamiento de la aplicación se interrumpa, podemos prevenir errores conocidos y proporcionar mensajes claros a los desarrolladores o usuarios sobre qué salió mal.
¿Cuáles son las mejores prácticas al manejar excepciones?
- Manejar errores de manera explícita: Es fundamental especificar el tipo de excepción que queremos manejar, como
ZeroDivisionError
, para tener un control preciso sobre los errores. - No silenciar excepciones: Simplemente imprimir el error en la consola sin tomar ninguna acción se considera una mala práctica porque no detiene la fuente del problema.
- Recolectar el mensaje de error: Utilizar variables como
e
enexcept
para guardar y analizar el mensaje que proporciona Python puede ser útil para el diagnóstico de problemas.
Con este conocimiento, puedes asegurar que tu código es robusto frente a errores comunes, como realizar una incorrecta operación matemática, y continuar ejecutando las tareas esperadas.