---
title: Hata Yakalama ve Exception Handling
slug: hata-yakalama-ve-exception-handling-ca0cc
url: /detay/hata-yakalama-ve-exception-handling-ca0cc
type: blog
language: Türkçe
entity:
  primary: Hata Yakalama ve Exception Handling
  type: blog
  disambiguation: Hata Yakalama ve Exception Handling: Yazılım hatalarını yönetme, program kararlılığı ve kullanıcı deneyimi için rehber.
  categories:
    - name: Yazılım Ve Yapay Zekâ
      slug: yazilim-ve-yapay-zeka
      url: /kategori/yazilim-ve-yapay-zeka
  tags:
    - Exception Handling
    - Hata Yakalama
    - Exception
    - Programlama
    - Python
    - Yazılım
author: Eda Coşar
created_at: 2025-05-07T16:03:03.539692+03:00
updated_at: 2025-05-07T16:18:50.114859+03:00
image: https://cdn.t3pedia.org/media/uploads/2025/05/07/jldfRNgng2lta1Kb6gvs2YjyiT8eOPwv.png
---

# Hata Yakalama ve Exception Handling

<!-- CONTEXT: Article Content for "Hata Yakalama ve Exception Handling" -->

## Article Content

[Yazılım geliştirme](/tr/detay/yazilim-muhendisligi-7e325/llms.txt) sürecinde, programlar çalışma zamanında çeşitli hatalarla karşılaşabilir. Bu hatalar, teknik adıyla "exception" (istisna), programın beklenmedik şekilde sonlanmasına veya yanlış sonuçlar üretmesine neden olabilir. [Hata yakalama](/tr/detay/error-handling-and-exception-handling-9a597/llms.txt) (exception handling), bu hataları tespit edip uygun şekilde yöneterek programın kararlılığını artırmak için kullanılan bir tekniktir. Çoğu modern programlama dilinde ([Python](/tr/detay/python-virtual-environment-sanal-ortam/llms.txt), Java, C#, JavaScript vb.) hata yakalama mekanizmaları bulunur ve genellikle**&#32;try-catch** veya **try-except** gibi yapılarla gerçekleştirilir. Bu yazıda, hata yakalamanın genel prensiplerini, neden önemli olduğunu ve nasıl uygulandığını detaylı bir şekilde ele alacağız. Örnekler ise yalnızca Python dilinde verilecektir.

### **Hata Yakalama Nedir?**

Hata yakalama, bir programın çalışma zamanında oluşan hataları algılayıp, bu hatalara uygun tepkiler vermesini sağlayan bir süreçtir. Hatalar, dosya bulunamaması, sıfıra bölme, geçersiz veri tipi kullanımı gibi çeşitli nedenlerle ortaya çıkabilir. Hata yakalama mekanizmaları, programın çökmesini önlemek, kullanıcıya anlamlı mesajlar sunmak ve kaynakları güvenli bir şekilde yönetmek için tasarlanmıştır.

### **Genel Yapı**

Çoğu programlama dilinde hata yakalama, aşağıdaki gibi bir yapıya sahiptir:

- **Try**: Potansiyel olarak hata üretebilecek kod bu blokta yer alır.
- **Catch/Except**: Hata oluştuğunda çalışacak kod bu blokta tanımlanır. Hata türüne göre farklı bloklar kullanılabilir.
- **Finally**: Hata olsa da olmasa da her zaman çalışacak kodlar bu blokta yer alır (örneğin, kaynak temizliği).
- **Else** (bazı dillerde): Hata oluşmadığında çalışacak kodlar için kullanılır.
- **Throw/Raise**: Özel bir hata fırlatmak için kullanılır.

Python’da bu yapı**&#32;try, except, else, finally** ve **raise&#32;**anahtar kelimeleriyle ifade edilir. Diğer dillerde ise benzer yapılar farklı isimlerle (örneğin, Java ve C#’'a **try-catch**) kullanılır.

### **Hata Yakalama Neden Önemlidir?**

Hata yakalama, yazılım geliştirme sürecinde kritik bir rol oynar. İşte temel nedenleri:

1. **Programın Kararlılığı**: Hatalar yönetilmezse, program çökebilir veya beklenmedik davranışlar sergileyebilir. Hata yakalama, bu sorunları önler.
2. **Kullanıcı Deneyimi**: Teknik hata mesajları yerine, kullanıcıya anlaşılır ve yönlendirici mesajlar sunulabilir.
3. **Kaynak Yönetimi**: Dosyalar, veritabanı bağlantıları veya ağ kaynakları gibi öğeler güvenli bir şekilde kapatılabilir.
4. **Hata Ayıklama**: Hata mesajları ve stack trace, geliştiricilere problemi teşhis etme konusunda rehberlik eder.
5. **Esneklik**: Farklı hata türlerine göre farklı tepkiler tanımlanabilir, böylece program daha robust hale gelir.
6. **Güvenlik**: Hataların kötü niyetli kişiler tarafından istismar edilmesi önlenebilir (örneğin, hassas veri sızıntıları).

### **Yaygın Hata Türleri**

Hatalar, programlama dillerine göre farklı isimler ve hiyerarşilerle sınıflandırılır. Genel olarak:

- **Sözdizimi Hataları (Syntax Errors)**: Kodun yazım kurallarına uymaması (hata yakalama ile değil, kod düzeltilerek çözülür).4
- **Çalışma Zamanı Hataları (Runtime Errors)**: Program çalışırken oluşan hatalar (örneğin, sıfıra bölme, dosya bulunmaması).
- **Mantıksal Hatalar (Logical Errors)**: Kod çalışır, ancak yanlış sonuç üretir (hata yakalama ile değil, algoritma düzeltilerek çözülür).

Python’da yaygın çalışma zamanı hataları şunlardır:

- **ZeroDivisionError:** Sıfıra bölme hatası.
- **FileNotFoundError:** Dosya bulunamadı hatası.
- **ValueError:** Geçersiz bir değerle işlem yapıldığında.
- **TypeError**: Yanlış veri tipiyle işlem yapıldığında.
- **IndexError:** Geçersiz bir indekse erişildiğinde.
- **KeyError:&#32;**Sözlükte olmayan bir anahtara erişildiğinde.

Diğer dillerde benzer hatalar farklı isimlerle karşımıza çıkar (örneğin, Java’da NullPointerException veya IOException).

### **Python’da Hata Yakalama Örneği**

Aşağıdaki örnek, bir dosya okuma işlemi sırasında oluşabilecek birden fazla hata türünü yöneten ve özel bir hata fırlatan bir Python kodunu göstermektedir.

<!-- CONTEXT: Academic Sources and References for "Hata Yakalama ve Exception Handling" -->

## Academic Sources and References

1. GeeksforGeeks. “Python Exception Handling.” GeeksforGeeks. Erişim 7 Mayıs 2025. https://www.geeksforgeeks.org/python-exception-handling/.Uzun, Erdinç. “11 - İstisna İşleme.” Erdinç Uzun. Erişim 7 Mayıs 2025. https://erdincuzun.com/python/11-istisna-isleme/.