Boost logo

Boost :

From: Andreas Huber (ah2003_at_[hidden])
Date: 2004-05-26 07:13:29


David Abrahams <dave <at> boost-consulting.com> writes:

> What does "terminate the state machine" mean?

It means exiting all remaining active states.

> I wish you had; I'll just have to take your word for it because I'm
> out of time for discussion. Your method of handling errors as
> described above seems (with my very shallow understanding) a bit
> capricious and hard-to-manage to me, and it seems strange to keep that
> system while ruling out a chance for strong-guarantee behavior (where
> an exit action may throw).

Ok, opinion taken. I'll update the rationale section and try to very clearly
explain:
- How one typically handles errors in traditional FSM frameworks (which don't
allow for failing actions) and how this led to the design of the error
handling mechanism in boost::fsm, which essentially only automates what you
have to do manually otherwise.
- Why failing exit actions are a bad idea.

I'm looking forward to convince you in the formal review :-).

Regards,

Andreas


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk