-
Notifications
You must be signed in to change notification settings - Fork 4
Gendarme.Rules.Exceptions.InstantiateArgumentExceptionCorrectlyRule(git)
Sebastien Pouliot edited this page Mar 2, 2011
·
1 revision
Assembly: Gendarme.Rules.Exceptions
Version: git
This rule will fire if the arguments to the System.ArgumentException, System.ArgumentNullException, System.ArgumentOutOfRangeException, and System.DuplicateWaitObjectException constructors are used incorrectly. This is a common mistake because the position of the parameterName argument is not consistent across these types.
Bad example:
public void Show (string s)
{
if (s == null) {
// the first argument should be the parameter name
throw new ArgumentNullException ("string is null", "s");
}
if (s.Length == 0) {
// the second argument should be the parameter name
return new ArgumentException ("s", "string is empty");
}
Console.WriteLine (s);
}
Good example:
public void Show (string s)
{
if (s == null) {
throw new ArgumentNullException ("s", "string is null");
}
if (s.Length == 0) {
return new ArgumentException ("string is empty", "s");
}
Console.WriteLine (s);
}
- This rule is available since Gendarme 2.2
You can browse the latest source code of this rule on github.com
Note that this page was autogenerated (3/17/2011 1:55:44 PM) based on the xmldoc
comments inside the rules source code and cannot be edited from this wiki.
Please report any documentation errors, typos or suggestions to the
Gendarme Mailing List. Thanks!