APRENDE PYTHON YA! Libro: Los pilares de Python. #17 — Capturar errores

Ruben Ruiz
AI experiments en Español
3 min readAug 11, 2018

” La felicidad no es la ausencia de problemas; es la habilidad para tratar con ellos ”.-Steve Maraboli

Hoy hablaremos sobre como capturar errores en Python. Esto es sobre todo útil cuando trabajamos con usuarios. Por ejemplo, imaginemos que preguntamos a un usuario que introduzca dos números para posteriormente sumarlos. Para eso hacemos esta simple función:

def sumaf(a,b): 
return(a+b)
print (sumaf("dog",5)# Error
print ("hello")

Nuestro usuario amablemente ha intentado sumar “dog” con 5. Este código dará un error, ya que si recordamos hace unos capítulos cuando hablábamos respecto a los tipos de dato “string”, decíamos que no podían sumarse una palabra con un número lo cual tiene sentido.

Por lo tanto, el código de arriba nos lanzará un error y el interprete no seguirá recorriendo el resto de las líneas. Para solucionar y controlar este tipo de errores podemos utilizar lo que se conoce como manejo de errores con los comandos try y except.

def sumaf(a,b):
try:
return a+b
except:
print("There's a error" )
print (sumaf("dog",5))
print("hello")

Ahora ese error se ha “capturado”, y el interprete seguirá leyendo el código hasta llegar a la siguiente línea donde mostrará por pantalla “hello”.

Además, si queremos darle feedback al usuario podríamos “capturar” dicha excepción utilizando el comando de Exception y guardándolo en e :

def sumaf(a,b):
try:
return a+b
except Exception as e:
print("There's a error" )
print (sumaf("dog",5))
print("hello")

Hay otro término que nos puede ayudar a con nuestra gestión de errores y es “finally”, el cual se ejecutará al final del todo sin importar lo que pase. Dicho parámetro es útil cuando tenemos que cerrar un archivo o la base de datos.

def sumaf(a,b):
try:
return a+b
except Exception as e:
print("There's a error" )
finally:
print("Thank you")
print (sumaf("dog",5))print("hello")

Para terminar, hay que decir que podemos capturar los errores si además conocemos su tipo de error en lugar Exception.

def sumaf(a,b):
try:
return a+b
except TypeError:
print("There's a error" )
finally:
print("Thank you")
print (sumaf("dog",5))
print("hello")

Para saber los posibles tipos de errores tan sólo tenemos que ver el mensaje que nos devuelve por pantalla la terminal:

Hasta aquí hemos visto lo más importante del manejo de errores, el cual está bien conocerlo y sirve sobre todo cuando estamos haciendo programas más complejos.

— — — — — — — — — — — — — — The End — — — — — — — — — — — — —

Si te gusta esta pequeña y gratuita revista puedes ayudar simplemente compartiéndola o suscribiéndote a la revista. Soy Rubén Ruiz, trabajo en la industria financiera en Inteligencia Artificial. Como proyecto personal llevo esta pequeña revista donde experimentamos con Inteligencia Artificial…

Puedes también seguirme en:

Instagram (Vida personal, es divertido) => @rubenruiz_t

Youtube (Canal sobre IA, intento que sea divertido )=> Rubén Ruiz A.I

Github (Donde subo mi código, esto ya no es tan divertido) => RubenRuizT

--

--