MFC对C++异常处理结果try-catch进行了改进,以宏的形式支持异常处理功能,定义了MFC异常宏和MFC异常类。
MFC异常宏将发生的异常情况与MFC类联系在一起,以便能够分类检测并抛出不同类型的异常,方便程序员进行不同的处理。灵活性、广泛性、可执行性更好。
MFC异常宏:
TRY
{
... //引发异常
}
CATCH(ExceptionClass1, pe)
{
... // 异常类1的处理代码
}
AND CATCH(ExceptionClass2, pe) // AND_CATCH块可有0个或多个
{
... // 异常类2的处理代码
}
END_CATCH
ExceptionClass1指定与异常情况对应的异常类,pe指向异常类的对象(由异常宏建立,不需要声明),可以通过指针pe访问异常对象,获取异常信息(比如打印异常信息)。
常用MFC异常类