Errors during Execution
During execution, errors might be generated from various places. Common errors and how to deal with them is documented here.
Execution Errors[Bearbeiten]
No value for input "x" of step "Y"[Bearbeiten]
A step's input pin has no input data. This happens if a step was started and a required input pin is missing. Notice, that this error is triggered only when a step-activity was triggered due to either the autostart flag (of the step) or by a trigger input value, or if the pin is non-triggering and another pin caused the trigger. And when the step's action accesses the input pin's data value.
In an elementary action, you can check for a pin to have received a value via the "pin.hasValue()
" query.
Fix:
- provide an input value either by:
- setting a default value for the pin in the step's action-block definition (the schema)
- giving the step's pin a freeze value (constant)
- connecting the step's input pin to another step's output pin or one of the compound action's inputs
- checking for the presence of a value (in an elementary block)
- change the pin type to "parameter-pin"
"telegram-data for non-triggering pin "x" of inactive step "Y"[Bearbeiten]
A telegram input pin (also called "mailbox pin") received a value after the step has already finished its execution. This is reported for non-triggering pins only - if it was triggering, a new activity would have been started. However, as the pin is non-triggering, the value is lost and there is noone to handle it.
Fix:
- check if a mailbox pin is really required
- either make sure that the input pin receives its value earlier (i.e. while the step is still being executed),
- or set the "ignore exception" behavior of the target step,
- or add an exception output pin to the target step, to divert the control flow as required. Notice, that this creates a strange situation, in that both any trigger-output AND its exception output pins may get a trigger value However, the exception would be "magically" written later, without the step being actually active. Also, this exception output might trigger multiple times.