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

  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013