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!")