AfxThrowOleDispatchException

使用此功能在引发一个 OLE 自动化功能中的异常。

void AFXAPI AfxThrowOleDispatchException(
   WORD wCode,
   LPCSTR lpszDescription,
   UINT nHelpID = 0 
);
void AFXAPI AfxThrowOleDispatchException(
   WORD wCode,
   UINT nDescriptionID,
   UINT nHelpID =  -1 
);

参数

  • wCode
    对应用程序的特定错误代码。

  • lpszDescription
    错误的口头描述。

  • nDescriptionID
    口头错误说明的资源 ID。

  • nHelpID
    您的应用程序的帮助 (.HLP) 文件的帮助上下文。

备注

将信息提供给此函数可由驱动的应用程序 (Microsoft Visual Basic 或其他 OLE 自动化客户端应用程序) 以显示。

示例

// 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>

请参见

参考

COleException 类

概念

MFC宏和Globals