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

  • george sarintzotis

    george sarin

    2 Aralık 2007
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • TechSmartt

    TechSmartt

    29 Aralık 2010