Menu
Coddy logo textTech

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
    pass

Birden ç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.

challenge icon

Görev

Kolay

process_data adlı bir işlev oluşturun:

  1. Potansiyel verileri temsil eden bir string input alır
  2. Onu bir integer değerine convert etmeyi dener, ardından 100'ü bu integer değerine divided eder
  3. result değerini döndürür
  4. 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!")

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 None
quiz iconKendini test et

Bu 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

Kendi başına pratik yap: Online Python derleyicisi