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.

class AFX_NOVTABLE CSimpleException : public CException  

Public Constructors

NameDescription
CSimpleException::CSimpleExceptionThe constructor.

Public Methods

NameDescription
CSimpleException::GetErrorMessageProvides text about an error that has occurred.

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 ClassOut-of-memory exception
CNotSupportedException ClassRequests for an unsupported operation
CResourceException ClassWindows resource not found or not creatable
CUserException ClassException that indicates a resource could not be found
CInvalidArgException ClassException 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).

CObject

CException

CSimpleException

Header: afx.h

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)










Show: