Click here to Skip to main content
16,017,852 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: compile error about destructor Pin
led mike25-Jan-08 4:25
led mike25-Jan-08 4:25 
GeneralRe: compile error about destructor Pin
George_George25-Jan-08 18:20
George_George25-Jan-08 18:20 
GeneralRe: compile error about destructor Pin
David Crow25-Jan-08 2:39
David Crow25-Jan-08 2:39 
GeneralRe: compile error about destructor Pin
George_George25-Jan-08 2:48
George_George25-Jan-08 2:48 
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 
Yes, DavidCrow.


What I do not agree with you is you mentioned when there is structured exception, during stack unwinding, the local object's destructor is not called.

Through my experiment, it is not true.

You can try the following code and see if structured exception occurs, like access violation, during stack unwinding, destructor is also called.

So the question can be asked in two ways,

1. Why __try/__except does not work with structured exception with destructor;
2. Why try/catch work with structured exception with destructor.

Now we are talking about (2).

#include <iostream>
#include <excpt.h>
#include <windows.h>

using namespace std;

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

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

};

int main()
{
	int* address = NULL;

	try{
		Foo foo1;
		(*address) = 1024;
	} catch (...)
	{
		cout << "access violation caught" << endl;
	}
	return 0;
}
</windows.h></excpt.h></iostream>



regards,
George
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 
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 

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.