The System.Exception class

The System.Exception class is the base type of all exceptions. This class has a few notable properties that all exceptions share: Message is a read-only property of type string that contains a human-readable description of the reason for the exception. InnerException is a read-only property of type Exception. If its value is non-null, it refers to the exception that caused the current exception. (That is, the current exception was raised in a catch block handling the type InnerException.) Otherwise, its value is null, indicating that this exception was not caused by another exception. (The number of exception objects chained together in this manner can be arbitrary.)
The value of these properties can be specified in calls to the instance constructor for System.Exception.