Ben temsil edilebilir kod parçası var:
public class ItemService {
public void DeleteItems(IEnumerable<Item> items)
{
// Save us from possible NullReferenceException below.
if(items == null)
return;
foreach(var item in items)
{
// For the purpose of this example, lets say I have to iterate over them.
// Go to database and delete them.
}
}
}
Şimdi bunun doğru bir yaklaşım mı yoksa istisna mı atmam gerektiğini merak ediyorum. Ben istisna önleyebilirsiniz, çünkü dönen boş bir koleksiyon üzerinde yineleme ile aynı olacaktır, yani, önemli bir kod zaten yürütülmez, ancak diğer yandan muhtemelen kodun bir yerinde sorunları saklıyorum, çünkü neden kimse aramak istiyorsun DeleteItems
ile null
parametre? Bu, kodda başka bir yerde bir sorun olduğunu gösterebilir.
Bu çoğu zaman bir şey yapmak ve bir sonuç döndürmez, çünkü genellikle hizmet yöntemlerinde bir sorun var, bu yüzden birisi geçersiz bilgi geçerse hizmetin yapacak bir şey yok, bu yüzden döner.