Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

JS7 offers a number of strategies for error handling that are explained with the following articlesarticles in this section.

The following matrix shows possible combinations for the handling of job errors and warnings:

Workflowyes6
Use CaseJobOrderOrder HistoryNotificationUser InterventionDocumentation
No.Job On ErrorJob On WarningOrder StopsStoppedOrder ContinuesContinuedOrder FinishesFinishedOrder SuccessfulOrder FailedOptionalResume OrderSuspend OrderCancel Order
Use Case 1yesnoyesnono--yesyesyesyes
Use Case 2yesnonoyesno--yesno-no-no-
Use Case 3yesnononoyesnoyesyesno-no-no-
Use Case 4yesnononoyesyesnoyesno-no-no-
Use Case 5nononoyesnoyesyesnono-no-noyesno-yes-no-yes

Use Cases

...

Anchor
use_case_1
use_case_1
Use

Use Cases

...

Case 1: Job error makes

...

order stop

In this scenario an order stops subsequently to a job error. The order is put in the failed state. This is the default behavior if no workflow instructions for error handling are used.

...

  • If any of job1, job2 or job3 raises an error then the order stops and is put in the failed state.
  • User Intervention is required to resume, to suspend or to cancel the order.

Anchor
use_case_2
use_case_2
Use Case 2: Job error lets

...

order continue

In this scenario a job error is caught and is handled in a way that lets the order continue .in the workflow:

  • The History outcome is not determined: as the order continues in the workflow. The History outcome will be determined from later workflow instructions.
  • Notifications can optionally be sent.
  • No User Interventions is applied.

...

  • if any of job1 or job2 in the Try block raises an error then the order will enter the Catch block.
  • In the Catch block job2a is executed.
    • If job2a completes successfully then the order will leave the Catch block and will continue with job3.
    • If job2a fails then the order will be put in the failed state, will be stopped and will remain in the Catch block to wait for User Intervention
    • Consider that Try-Catch instructions can be nested, i.e. in a Catch block another Try-Catch instruction can be used for error handling.

Anchor
use_case_3
use_case_3
Use Case 3: Job error makes order leave the workflow with failed history outcome

In this scenario a job error is caught and is handled in a way that makes the order leave the workflow:

  • The History outcome is specified to be failed.
  • Notifications can optionally be sent.
  • No User Interventions is applied.


Code Block
titleExample for catching a job error with failed history outcome
linenumberstrue
collapsetrue
Try
    job1
    job2
Catch
    Fail (leave workflow)
Catch-End
job3

Explanation:

  • if any of job1 or job2 in the Try block raises an error then the order enters the Catch block.
  • In the Catch block the Fail instruction makes the order leave the workflow. The Fail instruction can be parameterized to either stop an order or to make an order leave the workflow.
  • An order that entered the Catch block will never execute job3.


Anchor
use_case_4
use_case_4
Use Case 4: Job error makes order leave workflow with successful history outcome

Similar to use case 3 in this scenario a job error is caught and is handled in a way that makes the order leave the workflow:

  • The History outcome is specified to be successful.
  • Notifications can optionally be sent.
  • No User Interventions is applied.


Code Block
titleExample for catching a job error with successful history outcome
linenumberstrue
collapsetrue
Try
    job1
    job2
Catch
    Finish
Catch-End
job3

Explanation:

  • if any of job1 or job2 in the Try block raises an

...

x

...

  • error then the order enters the Catch block.
  • In the Catch block the Finish instruction makes the order leave the workflow.
  • An order that entered the Catch block will never execute job3.

Anchor
use_case_5
use_case_5
Use Case 5: Job warning lets order continue

In this scenario job errors are considered being warnings based on a selection of job return codes. Such warnings do not require specific error handling, instead the order will continue in the workflow.

  • The History outcome is not determined: as the order continues in the workflow. The History outcome will be determined from later workflow instructions.
  • Notifications can optionally be sent.
  • No User Interventions is applied.


Code Block
titleExample for handling of job warnings
linenumberstrue
collapsetrue
job1 (return codes: 0=success, 1=warning, >1=error)
job2 (return codes: 0=success, 1=warning, >1=error)
job3 (return codes: 0=success, 1=warning, >1=error)

Explanation:

  • If any of job1, job2 or job3 completes with return code 1 this is considered a warning. Any other non-zero return codes are considered errors.
  • In case of job warnings the order continues with the next instruction in the workflow.
  • No User Intervention is applied.

Resources

Display children header