CodeBlanks Logo Icon CodeBlanks

never türü

never ile ulaşılamayan kodu öğrenirsin.

never türü

never türü, hiçbir zaman oluşamayacak değerleri temsil eder. Her zaman hata fırlatan veya sonsuz döngüde olan bir fonksiyonun dönüş türü never'dır. Bu tür, ulaşılamayan kodu işaretlemek için kullanılır.

function patla(mesaj: string): never {
  throw new Error(mesaj);
}

never, fonksiyonun normal şekilde sonlanmayacağını belirtir.

never ve ulaşılamayan kod

never ayrıca ulaşılamayan kod yollarını işaretler. Bir fonksiyon throw ile sonlanıyorsa, throw'dan sonraki kod hiçbir zaman çalışmaz. Bu kod never türündedir ve derleyici tarafından işaretlenir.

function patla(): never {
  throw new Error("durdur");
  console.log("buraya hiç gelinmez");  // never
}

never, programın akışında mantık hatalarını yakalamaya yardımcı olur.

Uygulama never fonksiyonu ve hata yakalama

patla adında bir fonksiyon tanımla; mesaj parametresi string ve dönüş türü never olsun. Fonksiyon new Error(mesaj) fırlatsın. try-catch ile patla("sistem hatası") çağrısını yap ve yakalanan hatanın mesajını console.log ile yazdır.

Başlangıç kodu

index.ts
// patla adında bir fonksiyon tanımla
// mesaj parametresi string, dönüş türü never olsun
// fonksiyon new Error(mesaj) fırlatsın
// try-catch ile çağır ve hatanın mesajını yazdır

Örnek çözüm

index.ts
function patla(mesaj: string): never {
    throw new Error(mesaj);
}
try {
    patla("sistem hatası");
} catch (e) {
    console.log("yakalandi: " + e.message);
}

Beklenen çıktı

yakalandi: sistem hatası

Soru ve cevaplar

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

1 Hangisi <code>never</code> dönüş türüne sahip bir fonksiyondur?

  • function patla(msg: string): never { throw new Error(msg); } Doğru cevap
  • function selam(): void { console.log("hi"); }
  • function al(): string { return "x"; }
  • function topla(a: number, b: number): number { return a + b; }

Açıklama: Her zaman hata fırlatan <code>patla</code> fonksiyonu normal şekilde sonlanmaz; dönüş türü <code>never</code>'dır. Diğerleri ya değer döndürür ya da normal biter.

2 never dönüş türünü ekle

Soru
function patla(mesaj: string): ____ { throw new Error(mesaj); }
Cevap
function patla(mesaj: string): never { throw new Error(mesaj); }

Açıklama: Fonksiyon her zaman hata fırlattığı için normal şekilde dönmez; bu durumda doğru dönüş türü <code>never</code>'dır.

3 never kavramları

Kavram Anlamı
never Hiçbir zaman oluşmayan değer
throw new Error() Fonksiyon normal sonlanmaz
never dönüş türü Fonksiyon geri dönmüyor
Sonsuz döngü never türüne uygun

Başlangıç bölümündeki tüm dersler