Subprocess Properties Exception Map Tab

When you use a subprocess task in a process, you can define how the subprocess task handles process exceptions. You can map subprocess exceptions to the completion statuses of the subprocess task, or to exceptions on the parent process. Using the subprocess mappings, a parent process can raise a process exception or complete the subprocess task. Additionally, a parent process can set the exception status, terminate the subprocesses, and set the process status. The list of subprocess mappings is ordered by priority. If a lower priority subprocess exception occurs after a higher priority exception, the lower priority exception is ignored. The subprocess task does not complete until all subprocess tasks are completed or terminated.

For example, consider that you have a process called create_vpn. Within that process, there is a subprocess called validate_address. The subprocess validate_address can throw an exception when an address is invalid. Using the exception mapping functionality, you can instruct the parent process and subprocesses to take specific actions when the subprocesses throw exceptions. When validate_address throws the invalid_address exception, you can instruct it to complete or to raise an exception. If you are creating a VPN for a business that contains multiple physical locations, you might have multiple instances invoked for the validate_address subprocess. Exception mapping enables you to indicate whether the parent process create_vpn should terminate all of the invoked instances, terminate only the offending instance, or ignore the exception altogether.

Use the Properties view Exception Map tab to define values for the following:

Field Use

Process

Select the subprocess for which you want to map exceptions. You can map exceptions to any of the subprocesses included in the Association table on the Properties view Process tab.

Exception

Select an exception to associate with the subprocess. Only those exceptions defined for the subprocess you selected in the Process field are available for mapping.

Action

Select an option to determine what action the parent process should take when the subprocess defined in the Process field throws the exception defined in the Exception field. Select:

  • Complete Task to complete the task and indicate normal flow.

  • Raise Exception to raise an exception status defined in the parent process. If you select this option, you must also select an exception throw value. The values available in the Throw field are those exception options that are defined at the parent process level.

Terminate

Define how invoked threads should be affected by the exception. Select from the following options:

  • All instances (All): Select to instruct the system to stop all subprocess threads.

  • Excepting instance only (One): Select to instruct the system to stop the subprocess thread that raised the exception.

  • None (Ignore): Select to instruct the system to continue normal processing.