BaşlayınÜcretsiz Başlayın

İstisnaları yakalama

Kendi özel istisnalarını yazmaya başlamadan önce, istisna işlemenin temellerinin sağlam olduğundan emin olalım.

Bu egzersizde sana iki argüman alan bir invert_at_index(x, ind) fonksiyonu veriliyor: bir liste x ve bir indeks ind. Fonksiyon, listedeki o indeksteki öğeyi tersine çevirir. Örneğin invert_at_index([5,6,7], 0) 1/5 ya da 0.2 döndürür.

Amacın, oluşan hata türüne göre özel istisnalar yükseltecek hata işleme mantığını uygulamak.

Bu egzersiz

Python'da Nesne Yönelimli Programlamaya Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

Fonksiyon içinde iki except bloğu olan bir try - except - except deseni kullanarak aşağıdaki iki istisnayı yakala ve işle:

  • Kodu olduğu gibi try et ve 1/x[ind] döndür.
  • ZeroDivisionError oluşursa, "Cannot divide by zero!" yazdır,
  • IndexError oluşursa, "Index out of range!" yazdır

Doğru yaptığını, kod hatasız çalışıyor ve konsoldaki çıktı şöyleyse anlarsın:

0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Modify the function to catch exceptions
def invert_at_index(x, ind):
  ____:
    return 1/x[ind]
  _____:
    print("____")
  ____:
    print("____")
 
a_list = [5,6,0,7]

# Works okay
print(invert_at_index(a_list, 1))

# Potential ZeroDivisionError
print(invert_at_index(a_list, 2))

# Potential IndexError
print(invert_at_index(a_list, 5))
Kodu Düzenle ve Çalıştır