top of page

Python'da Hata Yönetimi: Hataları Yakalamak ve Yönetmek



Hands-on Mentor Kapsamlı Blog İçeriği
Hands-on Mentor Tutorials





Python'da Hata Yönetimi Nedir?

Hata yönetimi, bir programın çalışması sırasında ortaya çıkabilecek hataların yakalanması ve bu hatalara uygun çözümler üretilmesi işlemidir. Python'da hata yönetimi, try, except, else ve finally blokları kullanılarak gerçekleştirilir.


Hata Yönetimi Yapıları


try ve except Blokları

try bloğu, hata olasılığı bulunan kodları içerir. except bloğu ise bu hatalar yakalandığında çalışacak kodları içerir.


Örnek:


try:
    sonuc = 10 / 0
except ZeroDivisionError:
    print("Sıfıra bölme hatası!")


Çoklu except Blokları

Birden fazla hata türünü yakalamak için birden fazla except bloğu kullanılabilir.


Örnek:


try:
    sayi = int(input("Bir sayı girin: "))
    sonuc = 10 / sayi
except ValueError:
    print("Geçersiz sayı girişi!")
except ZeroDivisionError:
    print("Sıfıra bölme hatası!")


else Bloğu

else bloğu, try bloğunda hata oluşmadığında çalışır.


Örnek:


try:
    sayi = int(input("Bir sayı girin: "))
    sonuc = 10 / sayi
except ValueError:
    print("Geçersiz sayı girişi!")
except ZeroDivisionError:
    print("Sıfıra bölme hatası!")
else:
    print(f"Sonuç: {sonuc}")


finally Bloğu

finally bloğu, hata oluşup oluşmadığına bakılmaksızın her zaman çalışır. Kaynakları serbest bırakmak veya temizlik işlemleri yapmak için kullanılır.


Örnek:


try:
    dosya = open("dosya.txt", "r")
    veri = dosya.read()
except FileNotFoundError:
    print("Dosya bulunamadı!")
finally:
    dosya.close()
    print("Dosya kapatıldı.")


Hata Nesneleri

except bloğunda hata nesnesi yakalanabilir ve bu nesne ile ilgili bilgiler elde edilebilir.


Örnek:


try:
    sayi = int(input("Bir sayı girin: "))
    sonuc = 10 / sayi
except (ValueError, ZeroDivisionError) as e:
    print(f"Hata oluştu: {e}")


Özel Hata Sınıfları Tanımlama

Python'da kendi hata sınıflarınızı tanımlayabilir ve bu sınıfları kullanarak özel hatalar oluşturabilirsiniz.


Örnek:


class NegatifDegerHatasi(Exception):
    pass

def pozitif_sayi_kontrol(sayi):
    if sayi < 0:
        raise NegatifDegerHatasi("Negatif değer hatası!")
    return sayi

try:
    sayi = pozitif_sayi_kontrol(-5)
except NegatifDegerHatasi as e:
    print(e)


Hata Yönetiminin Kullanım Alanları


Hata yönetimi, programın daha güvenli ve hatasız çalışmasını sağlamak için geniş kullanım alanına sahiptir:

  • Kullanıcı Girdisi Doğrulama: Kullanıcıdan alınan verilerin geçerliliğini kontrol etmek.

  • Dosya İşlemleri: Dosya okuma/yazma işlemlerinde hata olasılıklarını yönetmek.

  • API Entegrasyonu: API çağrılarında oluşabilecek hataları yakalamak ve yönetmek.

  • Veritabanı İşlemleri: Veritabanı işlemlerinde oluşabilecek hataları yönetmek.



Sonuç

Bu blog yazısında, Python'da hata yönetiminin nasıl yapıldığını, try, except, else ve finally bloklarının nasıl kullanıldığını öğrendiniz. Ayrıca, hata nesneleriyle çalışmayı ve özel hata sınıfları tanımlamayı gördünüz. Hata yönetimi, Python programlamada programın güvenli ve hatasız çalışmasını sağlamak için temel araçlardan biridir.


 

Python temellerini atıp, veri analizi ve bilimi için yetkinlik kazanmak istiyorsanız, 1 aylık yoğun Python kampına hemen kayıt olabilirsiniz. ~40 saat canlı ders, ~50 adet kapsamlı proje, ~15 adet quiz ve sayısız kodlama egzersizinden oluşan, Finlandiya eğitim modellerinden esinlenilerek Helsinki'de geliştirilen interaktif ve pratik odaklı eğitim programına hemen göz atın !




bottom of page