Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The C++ Standard does not specify the way exception propagation has to be implemented, and there isn’t even a de facto standard respected by most systems. The mechanics of exception propagation vary not only with the operating system and compiler used, but also with the compiler options used to build each module of your application with a given compiler on a given operating system. Therefore, an application must prevent exception handling incompatibilities by shielding the boundaries of each of its major modules, meaning each unit for which the developer can ensure that the same compiler and options are consistently used.
At a minimum, your application must have catch-all catch(...) seals in the following places, most of which apply directly to modules: