Introducción a los errores

Python intermedio para desarrolladores

Jasmin Ludolf

Senior Data Science Content Developer

¿Qué es un error?

  • Código que viola una regla
  • Error = Excepción
  • Hace que el programa termine

Jerarquía de algunas excepciones de Python

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Python intermedio para desarrolladores

TypeError

  • Tipo de dato incompatible
"Hello" + 5

Salida de TypeError que muestra que cadenas e enteros no se pueden combinar

Python intermedio para desarrolladores

ValueError

float("Hello")

Salida de ValueError que confirma que la cadena 'Hello' no se puede convertir a float

  • El valor no está en un rango válido
float("2")

Salida que muestra el resultado 2.0 sin error

Python intermedio para desarrolladores

Tracebacks

Mensaje de traceback

Python intermedio para desarrolladores

Tracebacks

Mensaje de traceback destacando el tipo de error

Python intermedio para desarrolladores

Tracebacks

Mensaje de traceback que destaca el código que causó el error

Python intermedio para desarrolladores

Código en paquetes

  • Los paquetes contienen código de otras personas, p. ej., funciones personalizadas
  • Conocido como código fuente
  • pip install <package> descarga el código fuente al entorno local
  • La función pd.read_csv() de pandas ejecuta su código interno tras bambalinas
Python intermedio para desarrolladores

Tracebacks de paquetes

# Import pandas package
import pandas as pd

# Create pandas DataFrame                 
products = pd.DataFrame({"ID": "ABC1",
                         "price": 29.99})

# Try to access the non-existent "tag" column
products["tag"]
Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback al intentar filtrar un DataFrame de pandas por una columna inexistente

Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback que muestra el archivo que produjo un error al ejecutarse y el tipo de error KeyError

Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback con la línea 3803 resaltada

Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback con base.py resaltado

Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback con KeyError resaltado

Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback que muestra la línea de nuestro código que causó el error

Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback que muestra código que devuelve un error intencionalmente

Python intermedio para desarrolladores

Tracebacks de paquetes

Traceback con Raised resaltado

Python intermedio para desarrolladores

¡Vamos a practicar!

Python intermedio para desarrolladores

Preparing Video For Download...