Index: state_machine.hpp =================================================================== --- state_machine.hpp (revision 84739) +++ state_machine.hpp (working copy) @@ -1732,15 +1732,21 @@ template HandledEnum do_process_helper(EventType const& evt, ::boost::mpl::false_ const &, bool is_direct_call) { - try + // when compiling without exception support there is no formal parameter "e" in the catch handler. + // Declaring a local variable here does not hurt and will be "used" to make the code in the handler + // compilable although the code will never be executed. + std::exception e; + BOOST_TRY { return this->do_process_event(evt,is_direct_call); } - catch (std::exception& e) + BOOST_CATCH (std::exception& e) { // give a chance to the concrete state machine to handle this->exception_caught(evt,*this,e); - } + } + BOOST_CATCH_END + return HANDLED_FALSE; } // handling of deferred events