MFC ActiveX Controls: Returning Error Codes From a Method
This article describes how to return error codes from an ActiveX control method.
To indicate that an error has occurred within a method, you should use the COleControl::ThrowError member function, which takes an SCODE (status code) as a parameter. You can use a predefined SCODE or define one of your own.
ThrowError is meant to be used only as a means of returning an error from within a property's Get or Set function or an automation Method. These are the only times that the appropriate exception handler will be present on the stack.
For a list of predefined SCODEs and instructions on defining custom SCODEs, see the section Handling Errors in Your ActiveX Control in ActiveX Controls: Advanced Topics.