处理 OLE 中的异常的技术和设施与处理其他异常的方法和设施相同。 有关异常处理的详细信息,请参阅新 式C++异常和错误处理最佳做法一文。
所有异常对象都派生自抽象基类 CException
。 MFC 提供两个用于处理 OLE 异常的类:
COleException 用于处理常规 OLE 异常。
COleDispatchException 用于生成和处理 OLE 调度(自动化)异常。
这两个类之间的差异是它们提供的信息量以及它们的使用位置。
COleException
具有包含异常的 OLE 状态代码的公共数据成员。
COleDispatchException
提供更多信息,包括以下内容:
特定于应用程序的错误代码
错误说明,例如“磁盘已满”
应用程序可用于为用户提供其他信息的帮助上下文
应用程序帮助文件的名称
生成异常的应用程序的名称
COleDispatchException
提供了更多信息,以便它可以与 Microsoft Visual Basic 等产品一起使用。 口头错误说明可用于消息框或其他通知;帮助信息可用于帮助用户响应导致异常的条件。
两个全局函数对应于两个 OLE 异常类: AfxThrowOleException 和 AfxThrowOleDispatchException。 使用它们分别引发常规 OLE 异常和 OLE 调度异常。