呼び出しメソッドと呼び出しメソッドで重複して例外を処理することに関する質問があります。次の例を考えてみてください。C#の例外処理のベストプラクティス
protected void method1(string action)
{
if (string.IsNullOrWhiteSpace(action))
{
throw new ArgumentException("action cannot be null or empty or white space.");
}
//do something
}
public void method2(string name, string action)
{
if (string.IsNullOrWhiteSpace(name))
{
throw new ArgumentException("name cannot be null or empty or whitespace.");
}
method1(action);
//do something
}
上記の例では、method2でnullのアクションもチェックする必要がありますか?メソッド1で処理されるので、重複したコードが生成される可能性があるため、処理する必要はありません。
例外処理のベストプラクティスについて学ぶ上で、どんな提案も大きな助けになるでしょう。ありがとう
オピニオンベースで閉鎖する必要があるかもしれませんが、 'action'がnullの場合に壊れる唯一のメソッドが' method1'であれば、例外を発生させる必要があります。 'method2'でもそれをチェックしなかったなら、私はそれを"間違っている "とは考えていません。 –
'method1'が' private'か 'public'かによって異なりますので、' method2'が公開エントリーメソッドであれば、プライベート 'method1'の事前チェックメソッドとして役立ちます。 Nitpick: 'IsNullOrWhiteSpace'をチェックしますが、エラーメッセージは" action is null "になりません。 –
ここをクリックhttps://msdn.microsoft.com/en-us/library/seyhszts(v=vs.100).aspx Googleで検索すると、多くのリソースが見つかります – Mostafiz