TRY/CATCH_ALL与try/catch

Tim*_*Tim 7 c++ exception-handling

我已经使用了一段时间的c ++,而且我熟悉正常的try/catch.但是,我现在发现自己在Windows上,在VisualStudio中进行COM开发编码.代码的几个部分使用如下代码:

TRY {
    ... do stuff
} CATCH_ALL(e) {
    ... issue a warning
}
END_CATCH_ALL;
Run Code Online (Sandbox Code Playgroud)

这些宏有什么意义?它们对内置的try/catch有什么好处?

我试过谷歌搜索,但"尝试与TRY"很难搜索.

Blu*_*eft 7

这是一个MFC宏:http:
//msdn.microsoft.com/en-us/library/t8dwzac0%28VS.71%29.aspx

这个页面说它们是来自MFC 1.0的残余 - 在新代码中使用普通的C++异常:

低于3.0的MFC版本不支持C++异常机制.MFC提供了处理异常的宏.