在 MFC 中,COleDispatchException 类用于捕获由 IDispatch 接口引发的异常。COleDispatchException 包含一个公共数据成员 m_strSource,用于存储异常的来源信息。

以下是 COleDispatchException 类的一部分定义,其中包含了 m_strSource 数据成员:
class COleDispatchException : public CException
{
public:
    COleDispatchException(LPCTSTR lpszDescription, UINT nHelpID, LPCTSTR lpszHelpFile, LPCTSTR lpszSource, WORD wCode);
    // ...

public:
    CString m_strSource;  // 异常的来源信息
    // ...
};

m_strSource 存储了与异常相关的来源信息。

在 COleDispatchException 构造函数中,lpszSource 参数用于设置 m_strSource 的值,如下所示:
COleDispatchException::COleDispatchException(LPCTSTR lpszDescription, UINT nHelpID, LPCTSTR lpszHelpFile, LPCTSTR lpszSource, WORD wCode)
    : CException(wCode)
{
    // 设置异常描述、帮助上下文、帮助文件路径和来源信息
    m_strDescription = lpszDescription;
    m_dwHelpContext = nHelpID;
    m_strHelpFile = lpszHelpFile;
    m_strSource = lpszSource;
    // ...
}

这个构造函数在创建 COleDispatchException 对象时,使用传入的来源信息初始化 m_strSource 成员。

在使用 COleDispatchException 的代码中,通常会捕获这个异常,然后可以检查 m_strSource 的值以获取关于异常来源的信息。




转载请注明出处:http://www.zyzy.cn/article/detail/21353/MFC/COleDispatchException