Hi Mezan,
The current approach is to use the Call/Iterate actions in the error-capturing modes. Conditional branching is now much easier thanks to the conditional derivation and the “Skip actions on condition” action. Both techniques are described in our tutorial article “Conditional workflows”.
Here is a sample project that demonstrates error handling. It requires version 5.0 (sorry, don’t have 4.7 installed).
error-handling.morph (6.4 KB)
It works as follows:
The “Call” action in the “capture errors” mode returns a list of errors. If there are no errors, the list is empty. Two conditionally derived tables are configured to use mutually exclusive conditions (empty table or not empty) so that only one table is calculated and the other one is skipped in case of an error. And the other way around if there was no error.
In the case of the “Iterate” action (second tab), the action returns errors in a separate column. The two derived tables are configured to have mutually exclusive conditions to check whether the column has error values or not.