Details
-
Feature
-
Status: Released (View Workflow)
-
Medium
-
Resolution: Fixed
-
2.0.0
-
None
Description
Current Situation
- if a job fails in the Try Block of a Try/Catch Instruction then the order's historic outcome is considered unsuccessful.
- The unsuccessful outcome remains in place when an order enters the Catch Block.
- If an empty Catch Block is used then the outcome does not change.
- If this happens to a child order in a Fork/Join Instruction then the child order forwards its unsuccessful outcome to the parent order that subsequently will be failed.
- If this happens to an order that does not execute further jobs but leaves the workflow then the unsuccessful outcome causes the order's history status to be failed.
- If a Catch Block includes a job then the order will adopt the successful/unsuccessful outcome according to the job's execution result.
- If an empty Catch Block is used then the outcome does not change.
Desired Behavior
- When an order enters a Catch Block then its outcome is considered successful. Users can use an empty Catch Block to recover orders after failure in a Try Block.
- The Finish Instruction will cause an order's outcome to be successful and results in a successful history status of the order.