Hata yönetimi

Geliştiriciler için Orta Düzey Python

Jasmin Ludolf

Senior Data Science Content Developer

Pandas traceback

Bilerek hata döndüren kodu gösteren izleme (traceback)

  • except, raise

  • Hataların nasıl ortaya çıkabileceğini öngörün

Geliştiriciler için Orta Düzey Python

Tasarım odaklı düşünme

  • Özel fonksiyonumuzu insanlar nasıl kullanabilir?
  • Farklı yaklaşımları test edin
  • Hangi hataların oluşabileceğini bulun

Şehirdeki farklı ulaşım türleri

Geliştiriciler için Orta Düzey Python

Özel fonksiyonlarda hata yönetimi

def average(values):
    # Ortalama hesapla
    average_value = sum(values) / len(values)
    return average_value
Geliştiriciler için Orta Düzey Python

Nerede hata yapabilirler?

  • average() bir list veya set bekler
  • Birden fazla argüman verin 🛑
  • Yanlış veri türü kullanın 🛑
Geliştiriciler için Orta Düzey Python

Nerede hata yapabilirler?

sales_dict = {"cust_id": ["JL93", "MT12", "IY64"],
              "order_value": [43.21, 68.70, 82.19]}
print(average(sales_dict))

TypeError içeren izleme (Traceback)

Geliştiriciler için Orta Düzey Python

Önceki hata yönetimi

  • Denetim akışı if, elif, else
  • Docstring’ler
Geliştiriciler için Orta Düzey Python

try-except

def average(values):

try:
# Hata üretebilecek kod average_value = sum(values) / len(values) return average_value
except:
# Hata oluşursa çalışacak kod print("average() bir list veya set kabul eder. Lütfen doğru veri türünü sağlayın.")
Geliştiriciler için Orta Düzey Python

raise

def average(values):
    # Veri türünü kontrol et
    if type(values) in (list, set):

# Doğru veri türü kullanıldıysa çalışır average_value = sum(values) / len(values) return average_value
Geliştiriciler için Orta Düzey Python

raise

def average(values):
    # Veri türünü kontrol et
    if type(values) in (list, set):

# Doğru veri türü kullanıldıysa çalışır average_value = sum(values) / len(values) return average_value
else: # Bir Exception olursa çalışır raise
Geliştiriciler için Orta Düzey Python

raise TypeError

def average(values):
    # Veri türünü kontrol et
    if type(values) in (list, set):

# Doğru veri türü kullanıldıysa çalışır average_value = sum(values) / len(values) return average_value
else: # Bir Exception olursa çalışır raise TypeError("average() accepts a list or set, please provide a correct data type.")
Geliştiriciler için Orta Düzey Python

raise TypeError çıktısı

print(average(sales_dict))

Doğru veri türünü sağlamaya yönelik özel mesajı gösteren TypeError çıktısı

Geliştiriciler için Orta Düzey Python

try-except ve raise karşılaştırması

try-except

  • Hataların üretilmesini önler
  • Sonraki kod yine çalışır

raise

  • Bilerek hata üretir
  • Sonraki kodun çalışmasını engeller
Geliştiriciler için Orta Düzey Python

Hadi pratik yapalım!

Geliştiriciler için Orta Düzey Python

Preparing Video For Download...