Assembly: mscorlib (in mscorlib.dll)
An instance of the ApplicationException class is thrown by a user program, not by the common language runtime (CLR). If you are designing an application that needs to create its own exceptions, derive the exceptions from the ApplicationException class.
The ApplicationException class extends the Exception class, but it does not add new functionality. This class of exceptions is provided as means of differentiating between exceptions defined by applications versus exceptions defined by the system.
The ApplicationException class does not provide information as to the cause of exceptions. In most scenarios, instances of this class should not be thrown. In cases where this class is instantiated, a human-readable message describing the error should be passed to the constructor.