CSimpleException Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at CSimpleException Class.
This class is a base class for resource-critical MFC exceptions.
Syntax
class AFX_NOVTABLE CSimpleException : public CException
Members
Public Constructors
Name | Description |
---|---|
CSimpleException::CSimpleException | The constructor. |
Public Methods
Name | Description |
---|---|
CSimpleException::GetErrorMessage | Provides text about an error that has occurred. |
Remarks
CSimpleException
is the base class for resource-critical MFC exceptions and handles the ownership and initialization of an error message. The following classes use CSimpleException
as their base class:
CMemoryException Class | Out-of-memory exception |
CNotSupportedException Class | Requests for an unsupported operation |
CResourceException Class | Windows resource not found or not creatable |
CUserException Class | Exception that indicates a resource could not be found |
CInvalidArgException Class | Exception that indicates an invalid argument |
Because CSimpleException
is an abstract base class, you cannot declare a CSimpleException
object directly. Instead, you must declare derived objects such as those in the previous table. If you are declaring your own derived class, use the previous classes as a model.
For more information, see the CException Class topic and Exception Handling (MFC).
Inheritance Hierarchy
CSimpleException
Requirements
Header: afx.h
CSimpleException::CSimpleException
The constructor.
CSimpleException();
explicit CSimpleException(BOOL bAutoDelete);
```
### Parameters
`bAutoDelete`
Specify **TRUE** if the memory for the `CSimpleException` object has been allocated on the heap. This will cause the `CSimpleException` object to be deleted when the **Delete** member function is called to delete the exception. Specify **FALSE** if the `CSimpleException` object is on the stack or is a global object. In this case, the `CSimpleException` object will not be deleted when the **Delete** member function is called.
### Remarks
You would normally never need to call this constructor directly. A function that throws an exception should create an instance of a `CException`-derived class and call its constructor, or it should use one of the MFC throw functions, such as [AfxThrowFileException]--brokenlink--(../Topic/not%20found.md#afxthrowfileexception), to throw a predefined type.
## <a name="csimpleexception__geterrormessage"></a> CSimpleException::GetErrorMessage
Call this member function to provide text about an error that has occurred.
virtual BOOL GetErrorMessage( LPTSTR lpszError, UINT nMaxError, PUNIT pnHelpContext = NULL);
### Parameters
`lpszError`
A pointer to a buffer that will receive an error message.
`nMaxError`
The maximum number of characters the buffer can hold, including the **NULL** terminator.
`pnHelpContext`
The address of a **UINT** that will receive the help context ID. If **NULL**, no ID will be returned.
### Return Value
Nonzero if the function is successful; otherwise 0 if no error message text is available.
### Remarks
For more information, see [CException::GetErrorMessage](../Topic/CFileException%20Class.md#cfileexception__geterrormessage).
## See Also
[Hierarchy Chart](../Topic/Hierarchy%20Chart.md)
[CException Class](../Topic/CException%20Class.md)
[Exception Handling](../Topic/Exception%20Handling%20in%20MFC.md)