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

  • Gan Eden Productions

    Gan Eden Pro

    11 HAZİRAN 2011
  • Numberphile

    Numberphile

    15 EYLÜL 2011
  • TomOdellVEVO

    TomOdellVEVO

    29 Mayıs 2012