You should use [`ArgumentException`](http://msdn.microsoft.com/en-us/library/system.argumentexception.aspx) or one of the derived types instead of defining your own.