Menu
Coddy logo textTech

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
    pass

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

challenge icon

Görev

Kolay

process_data adlı bir fonksiyon oluşturun; bu fonksiyon:

  1. Olası verileri temsil eden bir dize girdisi alır
  2. Bu girdiyi bir tamsayıya dönüştürmeyi dener, ardından 100'ü bu tamsayıya böler
  3. Sonucu döndürür
  4. 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!")

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

Bu 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

Kendi başına pratik yap: Online Python derleyicisi