次のように表すことができるコードがあります:
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
これは私が通常サービスのメソッドで抱えている問題です。それらのほとんどは何かをして結果を返さないため、誰かが無効な情報を渡すと、サービスが行うことは何もないので戻ります。