Exceptions
In certain situations, exceptions of type sxy::exception are thrown by yasmine.
When exceptions are thrown
-
If there is a conflict between transitions before execution, an exception is thrown.
-
When transition steps are built and a history is reached that belongs to a state that has not been active before and the history has no default transition, an exception is thrown.
-
When transition steps are built and a junction is reached that has no enabled transition, an exception is thrown.
-
If a transition emanating from a choice is enabled, but the compound transition cannot be built, an exception is thrown.
-
If execution arrives at a choice pseudostate and there are no enabled outgoing transitions, an exception is thrown.
-
When the timed based event creator is used to fire events, but the creator was not started before it is used, an exception is thrown.
-
When a second deep history is added to a composite state, an exception is thrown (because a composite state can have at most one deep history).
-
When a second shallow history is added to a composite state, an exception is thrown because a composite state can have at most one shallow history).
Other exceptions
Behavior exceptions are thrown for the asynchronous simple state when an exception appears on executing asynchronous behavior.