僅就最佳實踐者來說,這是更好的:對於字符串參數,ArgumentException或ArgumentNullException?
public void SomeMethod(string str)
{
if(string.IsNullOrEmpty(str))
{
throw new ArgumentException("str cannot be null or empty.");
}
// do other stuff
}
或
public void SomeMethod(string str)
{
if(str == null)
{
throw new ArgumentNullException("str");
}
if(str == string.Empty)
{
throw new ArgumentException("str cannot be empty.");
}
// do other stuff
}
第二個版本似乎更精確,也比第一個更繁瑣。我通常會和#1一起去,但是我想知道是否有爭議#2。
[可能的重複](http://stackoverflow.com/questions/1355957/should-i-throw-argumentnullexception-if-a-string-is-blank)?在那裏他們還提出了另一個選擇:自定義的'StringNullOrEmptyException'。 – 2013-01-25 16:47:44