Python'da Hata Yönetimi: try, except ve finally Nasıl Çalışır – webdedik gönderisi

Python'da Hata Yönetimi: try, except ve finally Nasıl Çalışır

Python'da bir programın çökmesi yerine hatayı kontrol altına almak istiyorsan, try-except-finally yapısı tam sana lazım. Kullanıcı yanlış veri girerse, dosya bulunamazsa ya da ağ bağlantısı kopsa, programın çökmek yerine sen ne yapacağını söyleyebilirsin.

Try bloğuna "riskli" kodunu koyarsın. Except bloğu o kodda bir hata oluşursa devreye girer ve sorunu ele alır. Finally bloğu ise hata olsun ya da olmasın, mutlaka çalışması gereken kodu tutar, örneğin dosya kapatmak gibi.

Basit bir örnek:

1try:
2sayi = int(input("Bir sayı gir: "))
3sonuc = 10 / sayi
4print(f"Sonuç: {sonuc}")
5except ValueError:
6print("Hata: Bir sayı girmelisin.")
7except ZeroDivisionError:
8print("Hata: Sıfıra bölemezsin.")
9finally:
10print("İşlem tamamlandı.")

Kullanıcı "abc" yazarsa ValueError yakalanır. Sıfır girerse ZeroDivisionError yakalanır. Her iki durumda da finally bloğu çalışır.

Dosya işlemlerinde finally özellikle önemlidir:

1try:
2dosya = open("veri.txt", "r")
3icerik = dosya.read()
4print(icerik)
5except FileNotFoundError:
6print("Dosya bulunamadı.")
7finally:
8dosya.close()

Dosya açılmış olsa da olmasa da, finally bloğu çalışır ve dosya kapatılır. Böylece kaynak sızıntısı önlenir.

Bir hatayı yakalayıp ayrıntılarını görmek istersen `as` anahtar sözcüğünü kullan:

1try:
2x = 1 / 0
3except ZeroDivisionError as e:
4print(f"Hata mesajı: {e}")

Hata yönetimi, kullanıcı dostu uygulamalar yazmanın temellerinden biri. Programın çökmek yerine sorunla başa çıkması, güvenilirliği artırır. Orijinal makale'de daha detaylı örnekler bulabilirsin.

konu hakkında tepkinizi verebilirsiniz