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

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • DavidParody

    DavidParody

    17 EKİM 2009
  • K-391

    K-391

    23 EKİM 2012