CodeBlanks Logo Icon CodeBlanks

catch ile hata yakalama

JavaScript kursu · Orta seviye · Ders 74/134

catch ile promise hatasını yakalamayı ve hata mesajını kullanmayı öğrenirsin.

catch ile hata yakalama

Bir promise reddedildiğinde hatayı yakalamak için catch metodunu kullanırsın. catch, zincirin sonuna eklenir ve kendisine reddetme nedeni geçirilir.

loadOrder()
  .then(order => console.log(order))
  .catch(error => console.log(error));

Reddetme zincirin altına akar; catch gelene kadar her then atlanır. Bu sayede hatayı tek bir yerden yönetirsin ve callback'lerdeki tekrarlı denetimlerden kurtulursun.

catch kurtarma sağlar

catch aslında then(null, onRejected)'in kısa yazımıdır. Yani yalnızca başarısızlık durumunu işler. Hatayı yakaladıktan sonra catch'ten dönen değer, yeni bir başarılı promise oluşturur ve zincir normale döner.

loadOrder()
  .catch(error => 'varsayılan')
  .then(order => console.log(order));

Bu özellik, hatadan kurtulup zincire devam etmeni sağlar. Böylece kullanıcıya yedek bir veri gösterebilirsin.

Uygulama then ve catch zinciri kur

fetchPrice adlı fonksiyon bir promise döndürür. fetchPrice'ı çağır; then ile fiyatı console.log ile yazdır; zincirin sonuna catch ekle ve hatayı console.log ile yazdır.

Örnek çözümü göster
fetchPrice()
  .then(price => console.log(price))
  .catch(error => console.log(error));

Kendini test et

  1. catch hangi parametre alır?

    • Çözülen değer
    • Promise nesnesi
    • Bir dizi
    • Reddetme nedeni
    Cevabı göster

    Reddetme nedeni — Doğru! catch, reddetme nedenini alır.

  2. Zincire catch ekle

    loadOrder()
      .then(order => console.log(order))
      .____(error => console.log(error));
    Cevabı göster
    loadOrder()
      .then(order => console.log(order))
      .catch(error => console.log(error));
  3. catch kavramlarını eşleştir

    catch
    Reddetmeyi yakalar
    then(null, fn)
    catch ile aynı işi yapar
    catch'ten dönen değer
    Yeni fulfilled promise üretir

Orta seviye bölümündeki tüm dersler