Microsoft KB Archive/120921

= Visual C++ Vers 2.0 README.WRI, Part 5 C++ Exception Handling =

Article ID: 120921

Article Last Modified on 10/17/2003

-

APPLIES TO


 * Microsoft Visual C++ 2.0 Professional Edition, when used with:
 * the hardware: Intel x86

-



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.

Additional query words: 2.00

Keywords: KB120921

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.