Python Hata Yönetimi: Try, Except, Finally Blokları

Python Hata Yönetimi (Try-Except)

Yazdığınız kodlar bazen hatalı kullanıcı girişi, dosya bulunamaması veya matematiksel imkansızlıklar nedeniyle durabilir. Python'da bu hataları programı durdurmadan yönetmek için Try-Except bloklarını kullanırız.


1. Temel Try-Except Kullanımı

Hata çıkma ihtimali olan kodu try bloğuna, hata olduğunda yapılacakları ise except bloğuna yazarız.

Sıfıra bölme hatası örneği
try:
    sayi = 10 / 0
    print(sayi)
except ZeroDivisionError:
    print("Hata: Bir sayı sıfıra bölünemez!")
except Exception as e:
    print(f"Beklenmedik bir hata oluştu: {e}")

2. Finally ve Else Blokları

Hata yönetimini daha profesyonel hale getirmek için finally ve else bloklarını kullanabiliriz.

  • else: Sadece try bloğunda hata çıkmazsa çalışır.
  • finally: Hata çıksa da çıkmasa da her zaman çalışır (Dosya kapatma, bağlantı kesme işlemleri için uygundur).
Gelişmiş hata yönetimi örneği
try:
    sayi = int(input("Lütfen bir sayı girin: "))
except ValueError:
    print("Hata: Lütfen sadece rakam giriniz!")
else:
    print(f"Teşekkürler! Girdiğiniz sayı: {sayi}")
finally:
    print("İşlem tamamlandı.")

Kendi Hatanızı Fırlatın (raise)

Bazen belirli bir durumun hata olarak kabul edilmesini istersiniz. Bu durumda raise anahtar kelimesiyle kendi hatanızı oluşturabilirsiniz.

yas = -5
if yas < 0:
    raise ValueError("Yaş değeri negatif olamaz!")