In looking at some code reflected from the WCF libraries, I'm seeing a pattern used to create exceptions:
if(argument == null)
{
throw Error.ArgumentNull("argument");
}
Null arguments being the simplest example, with other types of exceptions available through the static error class.
What is the value of this factory pattern? Why not use the new operator and simply call the ArgumentNullException constructor?