|
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