
15 Nov
2006
15 Nov
'06
5:18 p.m.
Janek Kozicki wrote:
Peter Dimov said: (by the date of Wed, 15 Nov 2006 15:54:14 +0200)
e.dismiss();
why this? destructor of e does the work. No need to e.dismiss() Dave pointed out that std::uncaught_exception() inside e's destructor can check the conditions upon which the destructor is called and to the necessary work depending on it.
uncaught_exception may still return true in a destructor that is called during an ordinary return. ~X: called during stack unwinding calls f() void f() { Y y; } // ~Y is called here, uncaught_exception is true