Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2000-05-28 08:10:38


----- Original Message -----
From: "Jeffrey D. Paquette" <paquette_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Sunday, May 28, 2000 8:47 AM
Subject: RE: [boost] solution: Microsoft JIT debugging and catch(...)

> You've run afoul of Microsoft translating CPU exceptions into an exception
> that cannot be caught except by catch(...) so you really cannot do much
with
> it, except gracefully exit.

Boy, I really did need to explain myself better. Please try my demo program
and read my response to Bill Klein.

> X::~X has run twice because you've destroyed two X's by calling
> crash_indirectly() twice.

I understand why it ran twice. But I wanted the debugger to stop at the
point of the crash.

> Change:
> catch(...) { }
>
> to
> std::cerr << "Unknown exception caught"<< std::endl;

Somehow I doubt that will compile. A try block needs an associated catch
block.

> and your output becomes:
>
> ~X
> Unknown exception caught
> ~X
>
> To trap and convert processor exceptions to C++ objects (or something at
> least catchable by type, look into set_se_translator() and be sure to
> compile with /EHa.

Thanks, but that's not what I was after something completely different.

a-flying-circus-perhaps-ly y'rs,
dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk