0Pricing
TypeScript Academy · Ders

Yakalanan Hataları Daraltma (unknown ve Error)

unknown olarak türlendirilmiş yakalanan hataları güvenle yönetin

Yakalanan Hataları Daraltma (unknown ve Error), CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

TypeScript 4.0'dan itibaren yakalanan hataların türü unknown olur. Bu durum, hata özelliklerini kullanmadan önce açıkça daraltma yapmanızı gerektirir.

TS 4.0 Değişikliği

TypeScript 4.0, useUnknownInCatchVariables özelliğini kullanıma sundu. Katı modda yakalanan hataların türü unknown olur.
// err is now: unknown
try { doSomething(); }
catch (err) {
  // err.message; // Error — cannot access on unknown
}

instanceof ile Daraltma

Hata özelliklerine güvenli bir şekilde erişmek için instanceof Error kullanın.
catch (err) {
  if (err instanceof Error) {
    console.error(err.message, err.stack);
  } else {
    console.error('Unknown error:', String(err));
  }
}

isError Tür Koruması

Hata türünü daraltmak için yeniden kullanılabilir bir tür koruması oluşturun.
function isError(e: unknown): e is Error {
  return e instanceof Error;
}
catch (e) {
  if (isError(e)) console.error(e.message);
}

Özel Hata Daraltma

catch bloklarında özel hata türlerine daraltma yapın.
catch (err) {
  if (err instanceof NetworkError) { /* retry */ }
  else if (err instanceof AuthError) { /* redirect */ }
  else if (err instanceof Error) { /* generic */ }
  else throw err;
}

useUnknownInCatchVariables

Bu bayrak (TS 4.4 ve sonraki sürümlerde strict özelliğinin bir parçasıdır), yakalanan hataların unknown olmasını zorunlu kılar.
{ "compilerOptions": { "useUnknownInCatchVariables": true } }

Dize Hataları

Bazı kodlar Error nesneleri yerine dizeler fırlatır. Her iki durumu da ele alın.
catch (err) {
  const message = err instanceof Error ? err.message : String(err);
  console.error(message);
}

Türlü throw Yardımcısı

Her zaman türü belirli bir Error fırlatan bir yardımcı oluşturun.
function throwErr(msg: string, code = 500): never {
  const e: AppError = Object.assign(new Error(msg), { statusCode: code });
  throw e;
}

Bilinmeyen Hataları Yeniden Fırlatma

Ele alamadığınız hataları yeniden fırlatın.
catch (err) {
  if (err instanceof KnownError) handle(err);
  else throw err; // propagate unknowns
}

React'te Hata Sınırları

React hata sınırları, yaşam döngüsü yöntemlerinden gelen bilinmeyen hataları ele almalıdır.
componentDidCatch(error: unknown, info: ErrorInfo) {
  if (error instanceof Error) logError(error.message);
}

Yakalanan Hataları Sınama

Türlü doğrulamalarla hata işlemeyi sınayın.
test('catches errors', async () => {
  jest.spyOn(api, 'fetch').mockRejectedValue(new NetworkError());
  const result = await safeRun();
  expect(result.ok).toBe(false);
});

Hızlı Kontrol

TypeScript 4.4 ve sonraki sürümlerde katı modda yakalanan bir `err` hatasının türü nedir?

Özet

Yakalanan Hataları Daraltma (unknown ve Error karşılaştırması): Bu konunun temel kavramlarını ve bunları gerçek TypeScript projelerinde nasıl uygulayacağınızı öğrendiniz.

Sıkça Sorulan Sorular

“Yakalanan Hataları Daraltma (unknown ve Error)” dersi ücretsiz mi?

Evet — “Yakalanan Hataları Daraltma (unknown ve Error)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“Yakalanan Hataları Daraltma (unknown ve Error)” dersinde ne öğreneceğim?

unknown olarak türlendirilmiş yakalanan hataları güvenle yönetin TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Yakalanan Hataları Daraltma (unknown ve Error)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Türlendirilmiş Hata Sınıfları ve Hiyerarşileri
  2. Result Örüntüsü: Ok ve Err
  3. Yakalanan Hataları Daraltma (unknown ve Error)
  4. Eş Zamanlı TypeScript Kodunda Hata Yönetimi
← TypeScript Academy Sayfasına Dön