我有一个关于在调用方法和被调用方法中冗余处理异常的问题。请考虑以下示例:
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中检查操作是否为空?我觉得因为它是在方法1中处理的,所以我不必处理它,因为它可能导致冗余代码。
任何建议对于了解异常处理最佳实践都有很大帮助。感谢
答案 0 :(得分:2)
如果您的method1
是[{1}} private
internal
的实施,并且只能由method2
调用,则您不需要对这两种方法都设置了论据保护。
答案 1 :(得分:-2)
我经常检查。我知道代码如何工作现在,但我不知道它将来会做什么。代码会改变;用我的手或别人的。不检查的代码是等待爆炸的定时炸弹。