SORU
2 EYLÜL 2010, PERŞEMBE


Kurucu atma ArgumentNullException?

Tek bir parametre ile bir kurucu için, eğer bu parametre boş ise kurucu içinde bir ArgumentNullException atmak için OK/boş? YA da, yöntemi atılmış olmalı aslında bu argümanı kullanır? Teşekkürler.

CEVAP
2 EYLÜL 2010, PERŞEMBE


Eğer tamamen gerekli ise evet, o zaman durum. * Özel durum sonra atmak gerekir.

Her zaman "Fail Early Principle" unutmayın. Kavram zaman boşa harcamayın şimdi başarısız olmak, hata ayıklama veya deneyim beklenmeyen sistem işlevleri.

Alternatif olarak da "" ve null. ArgumentNullException için bir ArgumentException atabilirsiniz ... Her iki durumda da emin olun, geçerli bir Özel mesaj at.


Her zaman özel durumları yönetmek için iyi bir referans makale: Good Exception Management Rules of Thumb


@Steve Michelotti dedi yan not üzerinde ne CodeContracts büyük bir hayranı olduğum için ()

Contract.Requires<ArgumentNullException>(inputParemeter!= null, "inputparameter cannot be null");
Contract.Requires<ArgumentException>(inputParemeter!= "", "inputparameter cannot be empty string");

alternatif olarak

Contract.Requires<ArgumentNullException>(!string.IsNullOrEmpty(inputParemeter), "inputparameter cannot be null or empty string");

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LearnKey

    LearnKey

    19 AĞUSTOS 2008
  • MusicDeluxeTV

    MusicDeluxeT

    14 Mayıs 2010
  • MW Technology

    MW Technolog

    28 EKİM 2009