Click here to Skip to main content
15,911,646 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: compile error about destructor Pin
David Crow25-Jan-08 2:56
David Crow25-Jan-08 2:56 
GeneralRe: compile error about destructor Pin
George_George25-Jan-08 3:09
George_George25-Jan-08 3:09 
GeneralRe: compile error about destructor Pin
David Crow25-Jan-08 3:20
David Crow25-Jan-08 3:20 
GeneralRe: compile error about destructor Pin
George_George25-Jan-08 3:28
George_George25-Jan-08 3:28 
GeneralRe: compile error about destructor Pin
zengkun10025-Jan-08 3:52
zengkun10025-Jan-08 3:52 
GeneralRe: compile error about destructor Pin
George_George25-Jan-08 3:59
George_George25-Jan-08 3:59 
GeneralRe: compile error about destructor Pin
zengkun10025-Jan-08 4:23
zengkun10025-Jan-08 4:23 
GeneralRe: compile error about destructor Pin
George_George25-Jan-08 18:17
George_George25-Jan-08 18:17 
Thanks zengkun100,


Your reply is great!

Two more comments,

1.

zengkun100 wrote:
Use /EHs to specify the synchronous exception handling model (C++ exception handling without structured exception handling exceptions). If you use /EHs, then your catch clause will not catch asynchronous exceptions. Also, in Visual C++ 2005, all objects in scope when the asynchronous exception is generated will not be destroyed even if the asynchronous exception is handled. Under /EHs, catch(...) will only catch C++ exceptions. Access violations and System..::Exception exceptions will not be caught.


It means under /EHs mode, structured exception still exists, but we can not catch it and destructor of local object is not called during structured exception triggered stack unwinding. Right?

BTW: but I have proved it is not true. I have posted my sample below and if you compile with /EHsc and you can see the output is -- means destructor is still called during stack unwinding, not the same as the above statement from MSDN.

--------------------
constructor
destructor
--------------------

2.

I have wrote some code to verify that when using /EHa, during exception triggered stack unwinding, the destructor of local object is invoked. Could you help to review my code to see whether both my conclusion and the code are correct please? Smile | :)

#include <iostream>

using namespace std;

class Foo
{
public:
	Foo()
	{
		cout << "constructor" << endl;
	}

	virtual ~Foo()
	{
		cout << "destructor" << endl;
	}

};


int main ()
{
	int i = 1;
	int j = 0;
	try{
		Foo foo;
		i = i / j;

	} catch (...)
	{
		cout << "catch structured exception -- division by zero" << endl;
	}
}


My output:

--------------------
constructor
destructor
catch structured exception -- division by zero
--------------------


have a good weekend,
George
GeneralUnhandled exception at 0x1b97d783 (mfc71d.dll) in graf.exe: User breakpoint. Pin
Neels24-Jan-08 23:15
Neels24-Jan-08 23:15 
GeneralRe: Unhandled exception at 0x1b97d783 (mfc71d.dll) in graf.exe: User breakpoint. Pin
Iain Clarke, Warrior Programmer24-Jan-08 23:21
Iain Clarke, Warrior Programmer24-Jan-08 23:21 
GeneralRe: Unhandled exception at 0x1b97d783 (mfc71d.dll) in graf.exe: User breakpoint. Pin
CPallini24-Jan-08 23:21
mveCPallini24-Jan-08 23:21 
GeneralRe: Unhandled exception at 0x1b97d783 (mfc71d.dll) in graf.exe: User breakpoint. Pin
Neels24-Jan-08 23:27
Neels24-Jan-08 23:27 
GeneralRe: Unhandled exception at 0x1b97d783 (mfc71d.dll) in graf.exe: User breakpoint. Pin
CPallini24-Jan-08 23:45
mveCPallini24-Jan-08 23:45 
GeneralRe: Unhandled exception at 0x1b97d783 (mfc71d.dll) in graf.exe: User breakpoint. Pin
David Crow25-Jan-08 2:48
David Crow25-Jan-08 2:48 
QuestionMouse Hook Problem on virtual desktop Pin
sharda.bhagwatkar24-Jan-08 22:28
sharda.bhagwatkar24-Jan-08 22:28 
GeneralRe: Mouse Hook Problem on virtual desktop Pin
Iain Clarke, Warrior Programmer24-Jan-08 22:44
Iain Clarke, Warrior Programmer24-Jan-08 22:44 
GeneralRe: Mouse Hook Problem on virtual desktop Pin
sharda.bhagwatkar27-Jan-08 18:47
sharda.bhagwatkar27-Jan-08 18:47 
GeneralMDI Facelift for Vista Pin
baerten24-Jan-08 22:11
baerten24-Jan-08 22:11 
QuestionI/O run-time [modified] Pin
Hakan Bulut24-Jan-08 21:41
Hakan Bulut24-Jan-08 21:41 
QuestionRe: I/O run-time Pin
CPallini24-Jan-08 21:57
mveCPallini24-Jan-08 21:57 
GeneralMessage Closed Pin
24-Jan-08 22:14
Hakan Bulut24-Jan-08 22:14 
QuestionRe: I/O run-time Pin
CPallini24-Jan-08 22:18
mveCPallini24-Jan-08 22:18 
GeneralMessage Closed Pin
24-Jan-08 22:59
Hakan Bulut24-Jan-08 22:59 
GeneralRe: I/O run-time Pin
CPallini24-Jan-08 23:11
mveCPallini24-Jan-08 23:11 
GeneralRe: I/O run-time Pin
jhwurmbach25-Jan-08 3:46
jhwurmbach25-Jan-08 3:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.