CodeBlanks Logo Icon CodeBlanks

Özet - Hata yönetimi

Error, try/catch ve custom error'ı birleştirerek bir hata sınıfı hiyerarşisi yazarsın.

Özet - Hata yönetimi

Bu grupta hata yönetiminin temel araçlarını öğrendin: Error sınıfı, try/catch ile yakalama, özel error sınıfları, Express error middleware ve unhandledRejection olayı.

Bu beş aracı birleştirerek sağlam bir hata yönetim sistemi kurabilirsin. Örneğin bir özel error sınıfı tanımlayıp onu try/catch ile yakalayabilirsin. Bu, Node.js uygulamalarında hataların kontrollü biçimde ele alınmasının temel kalıbıdır. Şimdi tüm parçaları tek bir kodda birleştireceksin.

Uygulama AppError sınıfını yaz ve yakala

AppError sınıfını tanımla; extends Error. constructor(message) içinde super(message) ve this.name = "AppError" ayarla. try'da throw new AppError("test"), catch (e)'de console.log(e.name) yaz.

Başlangıç kodu

index.js
// AppError sınıfını tanımla (extends Error)
// constructor'da super ve this.name ayarla
// try'da fırlat, catch'te name'i yazdır
// buraya yaz

Örnek çözüm

index.js
class AppError extends Error {
  constructor(message) {
    super(message);
    this.name = "AppError";
  }
}
try {
  throw new AppError("test");
} catch (e) {
  console.log(e.name);
}

Beklenen çıktı

AppError

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Aracı rolüne eşle

Kavram Anlamı
Error Temel hata sınıfı
try/catch Hatayı yakalar
extends Türetme yapar
error middleware Express hata işleyici

2 try/catch ile yakalanan hata hangi değişkene konur?

index.js
catch (e)
  • catch(e) içindeki e Doğru cevap
  • throw içindeki ad
  • global hata
  • process.err

Açıklama: catch(e) içindeki e, fırlatılan hatayı tutar.

3 super çağrısını tamamla

Soru
constructor(message) { ____(message); this.name = "AppError"; }
Cevap
constructor(message) { super(message); this.name = "AppError"; }

Açıklama: super(message) üst sınıfın kurucusunu çağırır.

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