0Pricing
Dart Academy · Ders

Özel Durumlar ve rethrow

Anlamlı hatalar tanımlama ve bunları yeniden fırlatma

Özel Durumlar ve rethrow, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 4. 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, Dart Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Dart Academy kursu toplamda 4 dersten oluşur.

Anlamlı Hatalar

Genel istisneler amacı gizler. Özel istisna, sorunun tam adını belirtir ve hataların uygulamanızın tamamında anlaşılır olmasını sağlar. 🏷️

İstisna Gerçekleştirme

Exception gerçekleştiren bir sınıf oluşturun. Bu, onu Dart'ın ve okuyucuların anında tanıyacağı fırlatılabilir bir hata türü olarak işaretler.

class PaymentException implements Exception {}

Mesaj Taşıma

İstisnanıza kurucusu aracılığıyla bir message alanı verin; böylece işleyiciler bunun neden gerçekleştiğini okuyabilir.

class PaymentException implements Exception {
  final String message;
  PaymentException(this.message);
}

Anlaşılır bir toString

İstisna yazdırıldığında yalnızca sınıf adının değil, anlaşılır bir cümlenin gösterilmesi için toString yöntemini geçersiz kılın.

@override
String toString() => 'PaymentException: $message';

Kendi İstisnanızı Fırlatma

Özel bir istisnayı, yerleşik bir istisna gibi fırlatın. Bir kural ihlal edildiğinde yeni bir örnekle birlikte throw kullanın.

throw PaymentException('Card declined');

Kendi Türünüzle Yakalama

Bu durumu özel olarak ele almak için, yerleşik türlerde olduğu gibi on yan tümcesiyle kendi istisnanızı yakalayın.

try {
  pay();
} on PaymentException catch (e) {
  print(e);
}

Bazen Sorunu Çözemezsiniz

Bir işleyici hatayı kayda geçirebilir ancak çözemeyebilir. Hatayı yutmak yerine rethrow ile üst katmana iletebilirsiniz.

rethrow Anahtar Sözcüğü

rethrow, geçerli istisnayı özgün yığın izini koruyarak yeniden fırlatır; böylece çağıranlar istisnanın gerçekten nerede başladığını görür.

catch (e) {
  log(e);
  rethrow;
}

rethrow, throw e'den Daha İyidir

throw e yazmak yığın izini sıfırlar; rethrow ise onu korur. Bir catch içinde yeniden fırlatma yaparken her zaman rethrow kullanmayı tercih edin.

Kayda Geçirip Üst Katmana İletme

Yaygın bir kalıp şöyledir: hatayı log etmek için catch kullanılır, ardından üst katmanın nasıl kurtarılacağına karar vermesi için rethrow yapılır.

catch (e) {
  logger.error(e);
  rethrow;
}

Yararlı Alanlar Ekleme

Özel istisnalar code veya başarısız değer gibi ek veriler taşıyabilir. Bu, işleyicilere işlem yapmaları için daha zengin bir bağlam sağlar.

class ApiException implements Exception {
  final int code;
  ApiException(this.code);
}

Hızlı Kontrol

Bir catch içinde throw e yerine neden rethrow kullanılır?

Özet

Artık Exception gerçekleştiren, veri taşıyan ve hataları temiz biçimde üst katmanlara iletmek için rethrow kullanan anlamlı istisnalar oluşturabilirsiniz. 🚀

Sıkça Sorulan Sorular

“Özel Durumlar ve rethrow” dersi ücretsiz mi?

Evet — “Özel Durumlar ve rethrow” 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 Dart Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Dart Academy kursu toplamda 4 dersten oluşur.

“Özel Durumlar ve rethrow” dersinde ne öğreneceğim?

Anlamlı hatalar tanımlama ve bunları yeniden fırlatma Dart 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.

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

Önceden deneyim gerekmez. CoddyKit'te Dart 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 4. dersidir.

“Özel Durumlar ve rethrow” 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 Dart Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Dart 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. throw, try ve catch
  2. on Yan Tümceleri ve Özel Durum Türleri
  3. finally ve Garantili Temizleme
  4. Özel Durumlar ve rethrow
← Dart Academy Sayfasına Dön