Introducere în erori

Python intermediar pentru dezvoltatori

Jasmin Ludolf

Senior Data Science Content Developer

Ce este o eroare?

  • Cod care încalcă o regulă
  • Eroare = Excepție
  • Determină terminarea programului!

Ierarhia unor excepții Python

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Python intermediar pentru dezvoltatori

TypeError

  • Tip de date incompatibil
"Hello" + 5

Ieșire TypeError indicând că șirurile și numerele întregi nu pot fi combinate

Python intermediar pentru dezvoltatori

ValueError

float("Hello")

Ieșire ValueError confirmând că șirul 'Hello' nu poate fi convertit în float

  • Valoarea nu se află într-un interval acceptat
float("2")

Ieșire cu rezultatul 2.0, fără eroare

Python intermediar pentru dezvoltatori

Tracebacks

Mesaj traceback

Python intermediar pentru dezvoltatori

Tracebacks

Mesaj traceback cu tipul erorii evidențiat

Python intermediar pentru dezvoltatori

Tracebacks

Mesaj traceback cu codul care a cauzat eroarea evidențiat

Python intermediar pentru dezvoltatori

Codul din pachete

  • Pachetele conțin codul altor persoane, ex.: funcții personalizate
  • Denumit cod sursă
  • pip install <package> descarcă codul sursă în mediul local
  • Funcția pd.read_csv() din pandas execută codul funcției personalizate în fundal
Python intermediar pentru dezvoltatori

Tracebacks din pachete

# 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 intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback la subsettarea unui DataFrame pandas pe o coloană inexistentă

Python intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback cu fișierul care a generat eroarea și tipul KeyError

Python intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback cu linia 3803 evidențiată

Python intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback cu base.py evidențiat

Python intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback cu KeyError evidențiat

Python intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback cu linia din codul nostru care a cauzat eroarea

Python intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback cu cod care generează intenționat o eroare

Python intermediar pentru dezvoltatori

Tracebacks din pachete

Traceback cu Raised evidențiat

Python intermediar pentru dezvoltatori

Să exersăm!

Python intermediar pentru dezvoltatori

Preparing Video For Download...