Sobes.tech
Junior

Python'da istisna yönetimi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Python'da istisna yönetimi, programın normal yürütülmesini engelleyen hata veya olaylara yakalamak ve bunlara yanıt vermek için bir mekanizmadır.

try...except...finally veya try...except...else...finally blokları kullanılır.

try:
    # Hata oluşturabilecek kod
    result = 10 / 0
except ZeroDivisionError:
    # Belirli bir istisna ile başa çıkma
    print("Hata: Sıfıra bölme!")
except Exception as e:
    # Diğer tüm istisnalarla başa çıkma
    print(f"Bir hata oluştu: {e}")
else:
    # try bloğunda hata yoksa çalışır
    print("İşlem başarıyla tamamlandı.")
finally:
    # Her zaman çalışır, hata olup olmamasına bakılmaksızın
    print("Finally bloğu çalıştı.")

Ana bileşenler:

  • try: Hatanın olabileceği kod bloğu.
  • except: Belirli bir hata türü oluştuğunda çalışan kod bloğu. Farklı hata türleri için birden fazla except kullanılabilir.
  • else: (İsteğe bağlı) Hata oluşmadığında çalışan kod bloğu.
  • finally: (İsteğe bağlı) Her zaman çalışan kod bloğu. Kaynakları serbest bırakmak için kullanılır (örneğin, dosyaları kapatmak).
  • raise: Açıkça istisna fırlatmak için anahtar kelime.
def divide(a, b):
    if b == 0:
        raise ValueError("Bölen sıfır olamaz")
    return a / b

try:
    divide(10, 0)
except ValueError as e:
    print(f"Kullanıcı hatası işleme: {e}")

Avantajlar:

  • Programın güvenilirliğini artırır.
  • Hata oluşturabilecek kodu izole eder.
  • Normal yürütme mantığını hata işleme mantığından daha temiz bir şekilde ayırmaya olanak tanır.