Tengo un código que se puede representar como:
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.
}
}
}
Ahora me pregunto si este es el enfoque correcto o si debería lanzar una excepción. Puedo evitar las excepciones, ya que la devolución sería lo mismo que iterar sobre una colección vacía, lo que significa que, de todos modos, no se ejecuta ningún código importante, pero, por otro lado, posiblemente estoy ocultando problemas en algún lugar del código, porque ¿por qué alguien querría llamar? DeleteItems
con el parámetro null
? Esto puede indicar que hay un problema en otra parte del código.
Este es un problema que normalmente tengo con los métodos en los servicios, porque la mayoría de ellos hace algo y no devuelve un resultado, por lo que si alguien pasa información no válida, no hay nada que hacer el servicio, por lo que devuelve.