Python

Ders 15: Python Hata Yakalama (Exception Handling)

Kod yazarken hatalar kaçınılmazdır ama Python hata yakalama mekanizması sayesinde bu hataları kontrol altına alabiliriz. Python hata yakalama, programın çökmesini engelleyip kullanıcıya daha anlamlı mesajlar vermemizi sağlar.


Python Hata Yakalama Nedir?

Python hata yakalama, programın çalışma anında oluşabilecek hataları (örneğin sıfıra bölme, yanlış veri tipi kullanımı) önceden tahmin edip kontrol etmeye yarar. Bunun için en temel yapı try ve except bloklarıdır.


try:
    sayi = int(input("Bir sayı girin: "))
    sonuc = 10 / sayi
    print("Sonuç:", sonuc)
except:
    print("Bir hata oluştu!")

Bu örnekte kullanıcı sıfır girerse veya sayı yerine metin yazarsa program çökmek yerine uyarı verir.


Python Hata Yakalama: try-except-else-finally Kullanımı

Python hata yakalama süreci sadece try ve except’ten ibaret değildir. else ve finally blokları da daha kontrollü hata yönetimi sağlar.


try:
    dosya = open("veri.txt", "r")
    icerik = dosya.read()
except FileNotFoundError:
    print("Dosya bulunamadı!")
else:
    print("Dosya başarıyla okundu!")
finally:
    print("İşlem tamamlandı.")

try: Hata olabilecek kodlar buraya yazılır. except: Hata olursa burası çalışır. else: Hata olmazsa burası çalışır. finally: Her durumda çalışır, genellikle temizlik (ör. dosya kapatma) işlemleri için kullanılır.


Python Hata Yakalama: Belirli Hata Türleri

Python hata yakalama yaparken genel bir except bloğu yerine belirli hata türlerini yakalamak daha profesyoneldir:


try:
    x = int("merhaba")
except ValueError:
    print("Geçersiz sayı girişi!")
except ZeroDivisionError:
    print("Sıfıra bölme hatası!")

Python Hata Yakalama: raise ile Kendi Hatanı Fırlatmak

Python hata yakalama sadece mevcut hataları değil, kendi özel hata mesajlarını oluşturmayı da sağlar. Bunun için raise kullanılır.


def kontrol_et(yas):
    if yas < 0:
        raise ValueError("Yaş negatif olamaz!")
    else:
        print("Yaş geçerli:", yas)

kontrol_et(-5)

Bu kodda raise ifadesiyle kendi hata türümüzü oluşturduk. Program, yaş negatif olduğunda özel bir hata mesajı üretir.


Küçük Görevler

  1. Kullanıcıdan iki sayı al, bölme işlemi yap ve sıfıra bölme hatasını yakala.
  2. Bir dosya okumaya çalış, dosya yoksa “Dosya bulunamadı” mesajı ver.
  3. Yaşı negatif girilirse özel hata fırlatan bir fonksiyon oluştur.

Bir önceki Ders 14: Python Fonksiyonlar İleri Seviye — Bir sonraki Ders 16: Python Dosya İşlemleri

Başa dön tuşu

Reklam Engelleyici Algılandı

Lütfen sitemizde reklamlara izin verin Değerli okurumuz, Farkında olarak veya olmayarak Adblocker (Reklam Engelleyici) kullanarak sitemizi ziyaret etmektesiniz. Apple Türk olarak size en hızlı, en doğru bilgi ve haberleri sunmak için çaba gösteriyoruz. Bizim de bu kapsamda maliyetlerimizi karşılayabildiğimiz tek gelir kalemimiz, internet reklamları. Elimizden geldiğince bu reklamların sizi rahatsız etmemesi için azami özen göstermeye çalışıyoruz. Bu kapsamda AdBlock (Reklam Engelleme) aracınızda www.appleturk.com alan adını beyaz listeye almanızı, veya bu alan adında engelleyiciyi kapatmanızı ve tüm internet sektörünün sağlıklı gelişimi için Adblock aracınızı kaldırmanızı rica ediyoruz.