You can generate preprocessed output by MSVC. I usually mark the code with some pragmas to easily find it, e.g.

#pragma boost_throw_exception_resolution
 typedef boost::error_info<struct tag_action, std::string> action_name;
 BOOST_THROW_EXCEPTION(error() << action_name(name));
#pragma end_boost_throw_excepion_resolution

this pragma will survive after pre-processing the file and you can do a simple find to see what was expanded.

Good Luck,
Ovanes.


On Tue, Mar 24, 2009 at 6:53 PM, Ovanes Markarian <om_boost@keywallet.com> wrote:
Igor,

how is BOOST_THROW_EXCEPION defined? The line might expand to
  error() << action_name(name);
which does not throw than.


Regards,
Ovanes


On Tue, Mar 24, 2009 at 6:28 PM, Igor R <boost.lists@gmail.com> 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;

Both BOOST_NO_EXCEPTIONS and BOOST_EXCEPTION_DISABLE are *not* defined.
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?

Thanks,

Igor'.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users