İçeriğe geç
parazade

Try Catch Nedir?

Yayın: · Son güncelleme:

Try Catch Nedir? Kısaca

Try catch, hata çıkarabilecek kodu try bloğunda çalıştırıp bir istisna oluştuğunda catch bloğunda yakalayan hata yönetimi yapısıdır. Böylece program çökmek yerine hatayı kontrollü biçimde ele alır.

Try Catch nedir?
İçindekiler
  1. Try catch nedir?
  2. Nasıl yazılır?
  3. Sık yapılan hatalar

Try catch nedir?

Try catch, "şunu dene, olmazsa şunu yap" diyen bir kod yapısıdır. Try bloğuna hata çıkarabilecek işlemi, catch bloğuna ise hata olursa çalışacak kodu yazarsınız. Örneğin bir dosyayı açmayı denersiniz; dosya yoksa program çökmek yerine "Dosya bulunamadı" mesajı gösterir.

Yapı JavaScript, Java ve C# gibi dillerde try-catch adıyla bilinir. Python'da aynı işi try ve except anahtar kelimeleri görür, mantık ise tamamen aynıdır ve diller arasında geçiş yapan biri bu yapıyı hemen tanır.

Nasıl yazılır?

Python'da kullanıcıdan alınan değeri sayıya çeviren basit bir örnek düşünelim. try: bloğunda yas = int(girdi) satırı çalışır. Kullanıcı "otuz" yazarsa dönüşüm başarısız olur ve except ValueError: bloğundaki "Lütfen rakamla yazın" mesajı gösterilir.

Yapının isteğe bağlı üçüncü parçası finally bloğudur. Her durumda çalışır. Açılan bir dosyayı ya da veritabanı bağlantısını kapatmak gibi temizlik işleri için idealdir.

JavaScript'te ise yazım try { ... } catch (hata) { ... } finally { ... } biçimindedir ve hata değişkeni oluşan istisnanın ayrıntılarını taşır.

Sık yapılan hatalar

En yaygın yanlış, tüm kodu tek bir dev try bloğuna koyup her hatayı aynı şekilde yakalamaktır. Bu durumda hangi satırın sorun çıkardığını anlamak zorlaşır. Try bloğunu yalnızca hata beklenen satırlarla sınırlı tutun.

Belirli hata türlerini yakalamak da önemlidir. Python'da yalnız except: yazmak, programı durdurmak için basılan Ctrl+C'yi bile yakalayabilir. Bunun yerine except ValueError gibi beklediğiniz türü açıkça yazın ve catch bloğunda hatayı en azından loglayın.

Sıkça Sorulan Sorular

Try catch performansı düşürür mü?

Çoğu dilde hata oluşmadığı sürece try bloğunun maliyeti çok düşüktür. Asıl maliyet bir istisna fırlatılıp yakalandığında doğar; bu yüzden istisnalar normal akışı yönetmek için değil, gerçekten beklenmedik durumlar için kullanılmalıdır.

Finally bloğu ne zaman çalışır?

Finally bloğu, try bloğu başarıyla bitse de bir hata yakalansa da her durumda en sonda çalışır. Dosya, bağlantı gibi kaynakları kapatmak için kullanılır.

İlgili terimler

İstisna(Exception)İstisna (exception), program çalışırken normal akışı bozan beklenmedik bir durumun programlama dilindeki temsilidir. Sıfıra bölme, olmayan bir dosyayı açma ya da geçersiz veri dönüşümü istisna fırlatır.Hata Yönetimi(Error Handling)Hata yönetimi (error handling), bir programın çalışırken karşılaştığı beklenmedik durumları yakalayıp çökmeden, kontrollü biçimde ele almasını sağlayan yöntemlerin bütünüdür. Try-catch blokları, hata kodları ve loglama bu yöntemlerin parçasıdır.Stack TraceStack trace, bir hata ya da istisna oluştuğunda programın o ana kadar hangi fonksiyonları hangi sırayla çağırdığını dosya ve satır numaralarıyla gösteren rapordur. Hatanın kaynağını bulmanın en hızlı yollarından biridir.JavaScriptJavaScript, web sayfalarına buton tıklaması, form doğrulama ve anlık güncelleme gibi etkileşimler kazandıran, tarayıcıların yanı sıra Node.js ile sunucuda da çalışabilen yaygın bir programlama dilidir.JavaJava, Sun Microsystems tarafından 1995'te yayımlanan, bugün Oracle tarafından geliştirilen, nesne yönelimli ve platformdan bağımsız bir programlama dilidir; kod Java Sanal Makinesi (JVM) üzerinde çalışır.C#C# (si şarp), Microsoft'un geliştirdiği, .NET platformunda çalışan, nesne yönelimli ve genel amaçlı bir programlama dilidir. Masaüstü, web, oyun ve kurumsal uygulamalarda yaygın kullanılır.PythonPython, okunabilir ve sade sözdizimiyle bilinen, genel amaçlı, açık kaynaklı bir programlama dilidir. Veri bilimi, yapay zekâ, otomasyon ve web geliştirmede en yaygın kullanılan dillerden biridir.