On Exception Goto Step

Use the On Exception Goto step to catch unhanded exceptions that may occur during script execution and allow a graceful exit from the situation.

Each Editor step may throw one or more of the following exceptions upon certain error conditions during script execution.

  • com.cisco.app.ApplicationException

  • com.cisco.channel.ChannelExecutionException

  • com.cisco.expression.ExpressionException

  • com.cisco.grammar.GrammarException

  • com.cisco.prompt.PromptExceptionste

  • com.cisco.script.ScriptException

  • com.cisco.user.UserException

  • com.cisco.doc.DocumentException

  • com.cisco.wf.steps.ivr.WFReportingStepException

  • com.cisco.wf.subsystems.obj.WFInterruptedException

  • com.cisco.wf.subsystems.obj.WFNoDayOfWeekFoundException

  • com.cisco.wfapi.expression.WFEvaluationException

  • com.cisco.wfapi.WFClassInvocationException

  • com.cisco.wfapi.WFClassRemoteCreationException

  • com.cisco.wfapi.WFWorkflowCompletedExecutionException

On Exception Goto customizer window

The following table describes the properties of the On Exception Goto customizer window:

Property

Description

Choose the exception from the list

Exception that triggers the execution of the step.

Choose the label from the list

Label to which the script will branch.

Save root cause (optional)

Cause of the exception, which saved in an exception object.

The object type must correspond to the type of exception being caught or to a base class of that exception. If it does not, no warning is generated at design time, but an error will result at run time.

Note

To check which child/parent exception occurred, you must check the engine log file that corresponds to the time of the exception in the Cisco Unified CCX Engine logs that you obtained using the Unified RTMT tool.

If you want the script flow to handle the child exception separately, add it as an additional On Exception Goto step after the step that catches the parent exception in the Editor Script workflow.

For example:

  • If you want the script flow to handle com.cisco.contact.ContactInactiveException, use it after its parent exception, ApplicationException. If not, the ApplicationException handles the exception and moves the script flow to ApplicationException label.

  • To handle com.cisco.app.ApplicationDisabledException, use its parent exception, com.cisco.app.ApplicationException in the On Exception Goto Step.