Tengo un fragmento de 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 debo lanzar una excepción. Puedo evitar excepciones, porque regresar sería lo mismo que iterar sobre una colección vacía, lo que significa que no se ejecuta ningún código importante de todos modos, pero por otro lado, posiblemente esté ocultando problemas en algún lugar del código, porque ¿por qué alguien querría llamar? DeleteItems
con null
parámetro? Esto puede indicar que hay un problema en otro lugar del código.
Este es un problema que generalmente tengo con los métodos en los servicios, porque la mayoría de ellos hacen algo y no devuelven un resultado, por lo que si alguien pasa información no válida, el servicio no tiene nada que hacer, por lo que se devuelve.