FIX: Re-throwing Exception Causes Abnormal Program TerminationLast reviewed: September 19, 1997Article ID: Q151675 |
The information in this article applies to:
SYMPTOMSWhen creating a temporary object and then re-throwing an exception, as demonstrated in the sample code in the More Information section of this article, the application terminates abnormally.
RESOLUTIONSee the More Information section for the sample code and the workaround.
STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ version 5.0.
MORE INFORMATION
Sample Code
/* Compile options needed: /GX /O2 */ class aClass { public: aClass(const char*){} ; ~aClass(){} ; } ; void push(const aClass& val) { } void main() { int a = 5 ; try { try { throw a ; } catch(int) { //Workaround: uncomment the following 2 lines //aClass aObj("ABC") ; //push(aObj) ; //Comment the line below push("ABC") ; throw ; } catch(...) { } } catch(...) { } } Keywords : CLIss vcbuglist400 vcfixlist500 kbtool Version : 4.00 4.10 4.20 Platform : NT WINDOWS Issue type : kbbug Solution Type : kbfix |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |