我有一段代码可以表示为:
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.
}
}
}
现在我想知道这是正确的方法还是应该抛出异常。我可以避免出现异常,因为返回将与遍历一个空集合相同,这意味着无论如何都不会执行任何重要的代码,但是另一方面,我可能会将问题隐藏在代码中的某个地方,因为有人为什么要调用DeleteItems
有null
参数吗?这可能表明代码中的其他地方存在问题。
这是我通常在服务中使用方法时遇到的一个问题,因为它们中的大多数都做某事并且不返回结果,因此,如果有人传递了无效信息,则该服务将无事可做,因此它将返回。