Introductie tot errors

Python voor gevorderde ontwikkelaars

Jasmin Ludolf

Senior Data Science Content Developer

Wat is een error?

  • Code die een regel schendt
  • Error = Exception
  • Zorgt dat je programma stopt!

Hiërarchie van enkele Python-exceptions

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Python voor gevorderde ontwikkelaars

TypeError

  • Onverenigbaar datatype
"Hello" + 5

TypeError-uitvoer: strings en integers kun je niet combineren

Python voor gevorderde ontwikkelaars

ValueError

float("Hello")

ValueError-uitvoer: de string 'Hello' kan niet naar float worden geconverteerd

  • De waarde valt buiten het toegestane bereik
float("2")

Uitvoer met resultaat 2.0 zonder fout

Python voor gevorderde ontwikkelaars

Tracebacks

Traceback-bericht

Python voor gevorderde ontwikkelaars

Tracebacks

Traceback-bericht met het fouttype gemarkeerd

Python voor gevorderde ontwikkelaars

Tracebacks

Traceback-bericht met de code die de fout veroorzaakte gemarkeerd

Python voor gevorderde ontwikkelaars

Code in packages

  • Packages bevatten andermans code, bv. custom functies
  • Dit heet broncode
  • pip install <package> downloadt broncode naar je lokale omgeving
  • De pandas-functie pd.read_csv() voert die custom functie achter de schermen uit
Python voor gevorderde ontwikkelaars

Tracebacks uit packages

# 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 voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback bij het subsetten van een pandas DataFrame op een niet-bestaande kolom

Python voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback met het bestand dat de fout gaf en het fouttype KeyError

Python voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback met regel 3803 gemarkeerd

Python voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback met base.py gemarkeerd

Python voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback met KeyError gemarkeerd

Python voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback met de regel in onze code die de fout veroorzaakte

Python voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback met code die bewust een fout geeft

Python voor gevorderde ontwikkelaars

Tracebacks uit packages

Traceback met Raised gemarkeerd

Python voor gevorderde ontwikkelaars

Laten we oefenen!

Python voor gevorderde ontwikkelaars

Preparing Video For Download...