Boost logo

Boost Users :

Subject: Re: [Boost-users] [boost-users][exception] BOOST_THROW_EXCEPTION returns
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2009-03-24 14:20:43

On Tue, Mar 24, 2009 at 10:28 AM, Igor R <boost.lists_at_[hidden]> wrote:
> Hello all,
> A function throws boost::exception as follows:
>  //....
>  typedef boost::error_info<struct tag_action, std::string> action_name;
>  BOOST_THROW_EXCEPTION(error() << action_name(name));
>  return 0;
> The excpetion is not catched anywhere. However, the thread continues
> running! If I put breakpoint at "return 0;" it's hit, and I can
> continue stepping the code. I run the program under MSVC 9.0, in debug
> mode, and I see "First-chance exception" and "Unhandled exception"
> notifications issued by the debugger.
> Isn't it wrong behavior, or I miss something?

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.

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.

Emil Dotchevski
Reverge Studios, Inc.

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at