Birden Fazla İstisnayı Yönetme
Coddy'nin Python Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 65 / 78.
Python'da farklı istisna türlerini ayrı except bloklarında işleyebiliriz. Bu, gerçekleşen belirli hataya göre farklı şekilde yanıt vermemizi sağlar.
Temel bir try-except yapısıyla başlayın:
try:
# İstisna fırlatabilecek kod
pass
except Exception as e:
# Herhangi bir istisnayı ele al
passBirden çok istisnayı 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 özel durum türünü de yakalayabilirsiniz:
try:
# Bazı kod
pass
except (ValueError, TypeError):
print("Invalid input type!")except bloklarının sırası önemlidir - daha özel istisnaları her zaman daha genel olanlardan önce yerleştirin.
Görev
Kolayprocess_data adlı bir fonksiyon oluşturun; bu fonksiyon:
- Olası verileri temsil eden bir dize girdisi alır
- Bu girdiyi bir tamsayıya dönüştürmeyi dener, ardından 100'ü bu tamsayıya böler
- Sonucu döndürür
- En az 3 olası istisnayı işler:
- Girdi bir tamsayıya dönüştürülemiyorsa
ValueError(print "Input must be a number!") - Girdi 0 ise
ZeroDivisionError(print "Cannot divide by zero!") - Genel bir işleyiciyle diğer tüm istisnalar (print "An unexpected error occurred!")
- Girdi bir tamsayıya dönüştürülemiyorsa
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ülememesi durumunu ele al
except ZeroDivisionError:
# Girdinin sıfır olması durumunu 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.
Mantık ve Akış 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