Foo
複雑なプロパティを持つクラスがあるとしますBar
。次に、他のクラスに次のようなメソッドがあるとします。
public void DoSomething(Foo foo)
{
if (foo == null)
throw new ArgumentNullException("foo");
if (foo.Bar == null)
throw new ArgumentNullException("bar");
}
ArgumentNullException
厳密に言えば、foo.Bar
この場合の引数ではありませんが、ここで適切なの使用はありますか? 手動で投げるのは適切ではないことを読み、理解できました。NullReferenceException
これは、抽象化する必要があることを私に伝えていますか?
public void DoSomething(Foo foo)
{
if (foo == null)
throw new ArgumentNullException("foo");
DoSomethingElse(foo.Bar);
}
private void DoSomethingElse(Bar bar)
{
if (bar == null)
throw new ArgumentNullException("bar");
}
私の最初のコードスニペットは の「正しい」使い方ArgumentNullException
ですか? この状況を処理する従来の方法は何ですか?
ありがとう。