Visual C++ Vers 2.0 README.WRI, Part 5 C++ Exception Handling (120921)
The information in this article applies to:
- Microsoft Visual C++ 2.0, when used with:
This article was previously published under Q120921 SUMMARY
The following is based on the Visual C++ version 2.0 README.WRI file:
Interaction Between setjmp/longjmp and C++ Exception Handling
The use of setjmp and longjmp is strongly discouraged in C++ programs.
However, if you use these functions and compile with the /GX option (Enable
Exception Handling), destructors for local objects will be called during
the stack unwind. Note that the use of setjmp and longjmp in C++ programs
may degrade performance by preventing optimization on local variables.
This interaction between setjmp/longjmp and C++ exception handling is
supported only when you include SETJMP.H or SETJMPEX.H.
If you are writing code that is intended to be portable, do not rely on
correct destruction of frame-based objects when executing a non-local goto
using a call to longjmp. The use of C++ exception handling try/catch
constructs is recommended in C++ programs instead of setjmp and longjmp.
Modification Type: | Major | Last Reviewed: | 10/17/2003 |
---|
Keywords: | KB120921 |
---|
|