Boost logo

Boost Users :

Subject: Re: [Boost-users] [boost-users][exception] BOOST_THROW_EXCEPTION returns
From: Igor R (boost.lists_at_[hidden])
Date: 2009-03-24 14:56:18


> Since the debugger tells you that the exception has been thrown, the
> only way to get the behavior you're observing is if you catch it.

Well, it also tells me that the exception is unhandled(!)... but the
thread survives:

First-chance exception at 0x7c812aeb (kernel32.dll) in XXX.exe:
Microsoft C++ exception:
boost::exception_detail::clone_impl<MyNamespace::error> at memory
location 0x0529a500..
Unhandled exception at 0x7c812aeb (kernel32.dll) in XXX.exe: Microsoft
C++ exception: boost::exception_detail::clone_impl<MyNamespace::error>
at memory location 0x0529a500..

> Try setting a break point in your exception's destructor. Since you're
> deriving from boost::exception, you can set the break point at
> boost::~exception(), in boost/exception/exception.hpp, line 254. It
> should hit at the closing } in the exception handler.

The ~exception() is called several times (probably the exception
object is copied) at the closing "}" of:
throw_exception.hpp:
template<class E> inline void throw_exception( E const & e )

Then the execution proceeds to the breakpoint at the line after
BOOST_THROW_EXCEPTION


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net