У меня есть кусок кода, который может быть представлен как:
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
параметром? Это может указывать на наличие проблемы где-то еще в коде.
У меня обычно есть проблема с методами в сервисах, потому что большинство из них что-то делают и не возвращают результат, поэтому, если кто-то передает неверную информацию, сервису нечего делать, поэтому он возвращается.