Birden Fazla İstisnayı Yönetme
Coddy'nin Python Journey'sinin Logic & Flow bölümünün bir parçası. Ders 65 / 78.
Python'da farklı türdeki exceptions'ları ayrı except bloklarında ele alabiliriz. Bu, meydana gelen belirli error'a göre farklı yanıt vermemizi sağlar.
Temel bir try-except yapısıyla başlayın:
try:
# İstisna oluşturabilecek kod
pass
except Exception as e:
# Herhangi bir istisnayı ele al
passBirden çok exceptions işlemek için belirli except blokları ekleyin:
try:
number = int(input("Enter a number: "))
result = 10 / number
print(result)
except ValueError:
print("That's not a valid number!")
except ZeroDivisionError:
print("Cannot divide by zero!")Ayrıca tek bir except bloğunda birden fazla exception türünü de yakalayabilirsin:
try:
# Bazı kod
pass
except (ValueError, TypeError):
print("Invalid input type!")except bloklarının sırası önemlidir - her zaman daha özel exceptions bloklarını daha genel olanlardan önce yerleştirin.
Görev
Kolayprocess_data adlı bir işlev oluşturun:
- Potansiyel verileri temsil eden bir string input alır
- Onu bir integer değerine convert etmeyi dener, ardından 100'ü bu integer değerine divided eder
- result değerini döndürür
- En az 3 olası exceptions durumunu ele alır:
- input bir integer değerine converted edilemiyorsa
ValueError(print "Input must be a number!") - input 0 ise
ZeroDivisionError(print "Cannot divide by zero!") - Generic bir işleyiciyle any other exception (print "An unexpected error occurred!")
- input bir integer değerine converted edilemiyorsa
Kendin dene
def process_data(input_string):
try:
# Girdi dizesini bir tamsayıya dönüştürmeyi dene
# 100'ü girdi değerine böl
# Sonucu döndür
except ValueError:
# Girdinin bir tamsayıya dönüştürülemediği durumu ele al
except ZeroDivisionError:
# Girdinin sıfır olduğu durumu ele al
except:
# Diğer beklenmeyen istisnaları ele al
return NoneBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Logic & Flow bölümündeki tüm dersler
1Değişken Keşfi
SabitlerÇoklu Değişken AtamalarıDeğişken TakasıYer Tutucu DeğişkenlerSayıları YuvarlamaListe Tür Dönüşümü4Rehber Uygulaması
Menüyü GörüntüleKişi Ekle7Kümeler Bölüm 2
Matematiksel İşlemler Bölüm 1Matematiksel İşlemler Bölüm 2Özet - Hazine AvıAlt Kümeler ve Üst KümelerKümeler Üzerinde YinelemeÖzet - Turnuva Takipçisi10Temel List Comprehension Yapıları
SözdizimiBasit Listeler OluşturmaKoşul EklemeVeri Toplulaştırma KullanımıÖzet - Liste EviÖzet - Özgürlük Elementleri13Envanter Yönetim Sistemi
Projeye Genel BakışÖğe Ekle2Sözlükler Bölüm 1
Sözlük Nedir?Sözlük OluşturmaDeğerlere ErişmeSözlükleri DeğiştirmeÖzet - Tarif Yöneticisi5İleri Seviye Karar Yapıları
Ternary OperatörüÜyelik KontrolleriKimlik KontrolleriGirintileme HatalarıÖzet - Tatil Filtresi8Öğrenci Kayıt Yöneticisi
Projeye Genel BakışÖğrenci Ekle11İleri Seviye Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar Görevi - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Listeleri Toplama14Yüksek Mertebeden Fonksiyonlar
Map FonksiyonuFilter FonksiyonuÖzet - E-posta DoğrulayıcıÖzet - Sayı İşleyici3Sözlükler Bölüm 2
Sözlük Metotlarıİç İçe SözlüklerAnahtar KontrolüSözlüklerde DöngülerÖzet - Frekans Sayacı9İleri Düzey Veri Toplulaştırma
Toplam KullanımıMinimum ve Maksimumu BulmaVerileri Verimli SıralamaÖzet - Dictionary Sıralayıcı12Temel Hata Yönetimi
Hata Yönetimi Nedir?Try ve Except BloğuBirden Fazla İstisnayı YönetmeÖzet - Alışveriş Sepeti HatalarıKendi başına pratik yap: Online Python derleyicisi