System.Exception is the base class for all exceptions.
System.SystemException is derived from System.Exception. Its counterpart is
System.ApplicationException.
The difference between ApplicationException and SystemException is that
SystemExceptions are thrown by the CLR, and ApplicationExceptions are thrown
by Applications.