FIX: Wrong Exception Rethrown with Global Optimization (166719)
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 5.0
This article was previously published under Q166719 SYMPTOMS
The wrong exception is rethrown when global optimization (/Og) is
enabled. For example, in the following sample, the correct output is:
A 1st throw
B 2nd throw
C 1st throw
However, if global optimization (/Og) is enabled, the output is:
A 1st throw
B 2nd throw
C 2nd throw
RESOLUTION
To work around the problem, disable the global optimization on the command
line or use the optimize pragma to disable the optimization for the
function where the problem occurs. For example:
#pragma optimize("g", off)
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was corrected in Microsoft Visual C++ version 6.0.
Modification Type: | Minor | Last Reviewed: | 7/5/2005 |
---|
Keywords: | kbBug kbcode kbfix kbVC600fix KB166719 |
---|
|