Úvod do chyb

Intermediate Python for Developers

Jasmin Ludolf

Senior Data Science Content Developer

Co je chyba?

  • Kód, který porušuje pravidlo
  • Chyba = Výjimka
  • Způsobí ukončení programu!

Hierarchie některých výjimek v Pythonu

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Intermediate Python for Developers

TypeError

  • Nekompatibilní datový typ
"Hello" + 5

Výstup TypeError – řetězce a celá čísla nelze kombinovat

Intermediate Python for Developers

ValueError

float("Hello")

Výstup ValueError – řetězec 'Hello' nelze převést na float

  • Hodnota není v přijatelném rozsahu
float("2")

Výstup zobrazující výsledek 2.0 bez chyby

Intermediate Python for Developers

Tracebacks

Zpráva traceback

Intermediate Python for Developers

Tracebacks

Zpráva traceback se zvýrazněním typu chyby

Intermediate Python for Developers

Tracebacks

Zpráva traceback se zvýrazněním kódu, který způsobil chybu

Intermediate Python for Developers

Kód v balíčcích

  • Balíčky obsahují cizí kód, např. vlastní funkce
  • Označují se jako zdrojový kód
  • pip install <package> stáhne zdrojový kód do lokálního prostředí
  • Funkce pd.read_csv() z pandas spustí na pozadí příslušný vlastní kód
Intermediate Python for Developers

Tracebacks z balíčků

# 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"]
Intermediate Python for Developers

Tracebacks z balíčků

Traceback při přístupu k neexistujícímu sloupci pandas DataFrame

Intermediate Python for Developers

Tracebacks z balíčků

Traceback zobrazující soubor, který způsobil chybu, a typ chyby KeyError

Intermediate Python for Developers

Tracebacks z balíčků

Traceback se zvýrazněným řádkem 3803

Intermediate Python for Developers

Tracebacks z balíčků

Traceback se zvýrazněným souborem base.py

Intermediate Python for Developers

Tracebacks z balíčků

Traceback se zvýrazněnou chybou KeyError

Intermediate Python for Developers

Tracebacks z balíčků

Traceback zobrazující řádek kódu, který způsobil chybu

Intermediate Python for Developers

Tracebacks z balíčků

Traceback zobrazující kód, který záměrně vyvolá chybu

Intermediate Python for Developers

Tracebacks z balíčků

Traceback se zvýrazněným klíčovým slovem Raised

Intermediate Python for Developers

Pojďme si procvičit!

Intermediate Python for Developers

Preparing Video For Download...