JavaScript Dersleri

JavaScript’te Try/Catch Yapısı

eminbasbayan

eminbasbayan

4 dk okuma
JavaScript’te Try/Catch Yapısı
🔍 Büyütmek için tıklayın

Günümüzde yazılım geliştiren herkesin yolu, er ya da geç hatalarla karşılaşmakla kesişir. Hatalar, programın beklenmeyen bir şekilde çalışmasını engelleyen sorunlardır. JavaScript gibi dinamik dillerde, bu hatalar özellikle kullanıcıdan alınan veriler ya da internet üzerinden yapılan veri istekleri gibi belirsiz kaynaklardan gelebilir.

İşte tam da bu nedenle, JavaScript bize try/catch adında özel bir yapı sunar. Bu yapı sayesinde hata oluşabilecek kodları güvenli bir şekilde çalıştırabilir ve bir hata olduğunda kontrolü kaybetmeden, programı çökertmeden gerekli adımları atabiliriz.

Bu yazıda, sadece try/catch yapısını anlatacağız. Konunun temelini, neden önemli olduğunu, nasıl kullanıldığını ve çeşitli örneklerle gerçek hayatta nasıl işimize yaradığını açıklayacağız. Anlatım düzeyi ise lise öğrencilerinin anlayabileceği şekilde olacak.

1. Hata Nedir ve Neden Olur?

Kod yazarken, bazen hiç fark etmeden programın durmasına neden olacak hatalar yapabiliriz. Örneğin, tanımlanmamış bir değişkeni kullanmak ya da bir sayıya metot uygulamaya çalışmak gibi.

console.log(kitapAdi.toLowerCase());

Yukarıdaki kodda kitapAdi adında bir değişken yoksa, tarayıcı şu şekilde bir hata fırlatır:

ReferenceError: kitapAdi is not defined

Bu hatayla birlikte JavaScript çalışmayı durdurur. Programın geri kalan kısmı artık işlemez.

2. Try/Catch Nedir?

Try/Catch yapısı, işte bu gibi durumlarda kullanılır. Hata yapabilecek kodları try bloğu içerisine yazarız. Eğer burada bir hata oluşursa, JavaScript hemen catch bloğuna geçer ve hatayı burada yakalar.

Yani programın tamamen çökmesini önleriz ve kullanıcıya daha anlamlı bir mesaj verebiliriz.

Genel Yapı:

try { // Hata yapabilecek kodlar } catch (hata) { // Hata oluşursa burası çalışır }

3. Temel Örnek: Tanımsız Değişken

try { console.log(renk.toUpperCase()); } catch (err) { console.log("Bir hata oluştu: Değişken tanımlı değil."); }

Yukarıdaki örnekte, renk adında bir değişken olmadığı için JavaScript hata verecek. Ama bu hata try/catch bloğu sayesinde yakalanacak ve programın çalışması durmayacak.

4. Try/Catch ile Program Akışını Koruma

console.log("İşlem başlatıldı"); try { let not = undefined; console.log(not.toFixed(2)); } catch (err) { console.log("Geçerli bir sayı girilmedi."); } console.log("İşlem tamamlandı");

Bu örnekte not değişkeni tanımlanmış ama bir sayı değil. toFixed() sadece sayılarda çalışır. Eğer try/catch olmasaydı, program “İşlem tamamlandı” satırına hiç ulaşamazdı. Ama try/catch sayesinde hata yakalandı ve program akışı devam etti.

5. Fonksiyonlarda Try/Catch Kullanımı

Bazen fonksiyonlarımıza kullanıcıdan gelen değerleri veririz. Ancak kullanıcı beklediğimiz türde veri vermezse, fonksiyon hata verebilir.

Aşağıda, gelen mesajı büyük harflerle üç kere tekrar eden bir fonksiyon var:

function tekrarEt(metin) { try { return (metin.toUpperCase() + " ").repeat(3); } catch (hata) { return "Lütfen sadece metin giriniz."; } }

Kullanım:

console.log(tekrarEt("selam")); // SELAM SELAM SELAM console.log(tekrarEt(45)); // Lütfen sadece metin giriniz.

Burada sayı verdiğimizde toUpperCase() çalışmaz çünkü sayılar bu metoda sahip değildir. Ama hata catch bloğunda yakalanır ve kullanıcıya düzgün bir mesaj döner.

6. Neden Her Hata İçin Try/Catch Kullanmayız?

Try/Catch güçlü bir yapı olsa da her küçük hata için kullanmak iyi bir yaklaşım değildir. Örneğin, kullanıcıdan gelen veri tipi belliyse ve basit bir typeof kontrolüyle iş çözülebiliyorsa, bunu yapmak daha verimlidir.

Ama örneğin bir API’den veri çekiyorsak ya da bir dosya okumaya çalışıyorsak, yani kontrolümüz dışındaki bir işlem varsa, try/catch çok işe yarar. Çünkü ne olacağını tam bilemeyiz.

7. Gerçek Hayatta Kullanım Alanları

  • İnternetten veri çekerken (örneğin fetch() ile)
  • Dosya okuma/yazma işlemlerinde
  • Kullanıcının girdiği form verilerinde
  • Üçüncü parti kütüphanelerle çalışırken

Bu işlemler sırasında bazen internet kesilebilir, veri formatı yanlış olabilir, izinler eksik olabilir. Bunların hepsi hata oluşturabilir ve biz bu hataları yakalamak zorundayız.

8. Özet

  • try bloğunda hata olabilecek kodlar yazılır.
  • Eğer bir hata oluşursa, catch bloğu çalışır.
  • Bu yapı programın çökmesini engeller.
  • Kullanıcıya daha iyi bir deneyim sunar.
  • Özellikle dış veri kaynakları ve bilinmeyen durumlar için çok gereklidir.

Sonuç:

Try/Catch yapısı, yazdığımız programların daha sağlam ve güvenli olmasını sağlar. Hataları saklamak yerine, onları yakalayıp anlamlı şekilde işlememizi mümkün kılar. Bu konu, ileride sunucu tarafında ya da API bağlantılarında çok daha önemli hale gelecektir.

Bugün öğrendiğin bu yapı, hata yönetimi konusunun temelidir. JavaScript ile profesyonelce çalışmak istiyorsan, Try/Catch senin en iyi arkadaşlarından biri olacak.

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk