AfxThrowOleDispatchException
Use this function to throw an exception within an OLE automation function.
void AFXAPI AfxThrowOleDispatchException(
WORD wCode,
LPCSTR lpszDescription,
UINT nHelpID = 0
);
void AFXAPI AfxThrowOleDispatchException(
WORD wCode,
UINT nDescriptionID,
UINT nHelpID = -1
);
Параметры
wCode
An error code specific to your application.lpszDescription
Verbal description of the error.nDescriptionID
Resource ID for the verbal error description.nHelpID
A help context for your application's help (.HLP) file.
Заметки
The information provided to this function can be displayed by the driving application (Microsoft Visual Basic or another OLE automation client application).
Пример
// Sort is method of automation class CStrArrayDoc
long CStrArrayDoc::Sort(VARIANT* vArray)
{
USES_CONVERSION;
// Type check VARIANT parameter. It should contain a BSTR array
// passed by reference. The array must be passed by reference; it is
// an in-out-parameter.
// throwing COleDispatchException allows the EXCEPINFO structure of
// IDispatch::Invoke() to set
if (V_VT(vArray) != (VT_ARRAY | VT_BSTR))
AfxThrowOleDispatchException(1001,
_T("Type Mismatch in Parameter. Pass a string array by reference"));
// ...
// ...
return 0;
}
Требования
Header: <afxdisp.h>