Using Structured Exception Handling with C++
Structured exception handling described in these articles works with both C and C++ source files. However, it is not specifically designed for C++ and is not recommended. You can ensure that your code is more portable by using C++ exception handling. Also, the C++ exception handling mechanism is more flexible, in that it can handle exceptions of any type.
Microsoft C++ now supports the C++ exception handling model, based on the ISO WG21/ANSI X3J16 working papers towards the evolving standard for C++. This mechanism automatically handles destruction of local objects during stack unwind. If you are writing fault-tolerant C++ code, and you want to implement exception handling, it is strongly recommended that you use C++ exception handling, rather than structured exception handling. (Note that while the C++ compiler supports structured exception handling constructs as described in these articles, the standard C compiler does not support the C++ exception handling syntax.) For detailed information about C++ exception handling, see Exception Handling Topics (C++) and the Annotated C++ Reference Manual by Margaret Ellis and Bjarne Stroustrup.