Hatalara giriş

Geliştiriciler için Orta Düzey Python

Jasmin Ludolf

Senior Data Science Content Developer

Hata nedir?

  • Bir kuralı ihlal eden kod
  • Hata = İstisna (Exception)
  • Programın sonlanmasına yol açar!

Bazı Python istisnalarının hiyerarşisi

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Geliştiriciler için Orta Düzey Python

TypeError

  • Uyuşmayan veri türü
"Hello" + 5

String ve integer birleştirilemez diyen TypeError çıktısı

Geliştiriciler için Orta Düzey Python

ValueError

float("Hello")

'Hello' dizgesinin floata dönüştürülemeyeceğini gösteren ValueError çıktısı

  • Değer kabul edilebilir aralıkta değil
float("2")

Hatasız 2.0 sonucunu gösteren çıktı

Geliştiriciler için Orta Düzey Python

Traceback’ler

İz sürümü iletisi

Geliştiriciler için Orta Düzey Python

Traceback’ler

Hata türünü vurgulayan iz sürümü iletisi

Geliştiriciler için Orta Düzey Python

Traceback’ler

Hata üreten kodu vurgulayan iz sürümü iletisi

Geliştiriciler için Orta Düzey Python

Paketlerdeki kod

  • Paketler başkalarının kodunu içerir; örn. özel fonksiyonlar
  • Kaynak kod olarak bilinir
  • pip install <package> kaynak kodu yerel ortama indirir
  • pandas’taki pd.read_csv() perde arkasında bu özel fonksiyonun kodunu çalıştırır
Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

# 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"]
Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

Var olmayan bir sütunda pandas DataFrame alt kümelenmeye çalışıldığında oluşan traceback

Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

Çalıştırıldığında hataya yol açan dosyayı ve KeyError türünü gösteren traceback

Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

3803. satırı vurgulayan traceback

Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

base.py’yi vurgulayan traceback

Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

KeyError’u vurgulayan traceback

Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

Hatanın oluşmasına neden olan kod satırını gösteren traceback

Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

Bilerek hata döndüren kodu gösteren traceback

Geliştiriciler için Orta Düzey Python

Paketlerden gelen traceback’ler

Raised ifadesini vurgulayan traceback

Geliştiriciler için Orta Düzey Python

Hadi pratik yapalım!

Geliştiriciler için Orta Düzey Python

Preparing Video For Download...