Handling errors in the assembly
Use the catch section of the assembly to describe the handling of errors thrown during the assembly execution.
About this task
- This task relates to configuring an OpenAPI 3.0 API definition. For details on how to configure an OpenAPI 2.0 API definition, see Editing an OpenAPI 2.0 API definition.
- OpenAPI 3.0 APIs are supported only with the DataPower® API Gateway, not with the DataPower Gateway (v5 compatible).
- For details of current OpenAPI 3.0 support limitations, see OpenAPI 3.0 support in IBM® API Connect.
You can complete this task either by using the API Designer UI application, or by using the browser based API Manager UI.
The catch section of the assembly is used to implement an assembly in the instance that an error is thrown during the assembly execution. For example, the assembly could contain a throw element, the API caller could fail to authenticate, or a policy could fail to execute correctly. Each error can be handled with a different catch and each catch can handle multiple status errors.
To create a catch and include elements in it, complete the following steps:
In the navigation pane, click
Develop, then select the APIs tab.
The Develop page opens.
- Click the title of the API definition that you want to apply a catch to.
- Select the Gateway tab, then click Policies in the navigation pane.
- Set the Show catches toggle in the menu bar of the canvas to the Show position.
Click Catches in the canvas, or a Catch icon
if one is displayed.
The property sheet for the API's catches opens.
To add a default catch that is executed when an otherwise uncaught error is thrown, click
Add default catch.
Note: If you have a default catch before another catch in precedence, the default catch will activate even when the other catch's error is thrown.
- To add a new catch, click Add catch.
- To specify which errors the catch applies to, type the name of a custom error and press Enter, or use the Search errors field to search for the appropriate error.
- Optional: To remove an error case from a catch, click the corresponding cross.
To change the precedence of your catches, use the Move up
or Move down
If an error case is handled by multiple catches, the catch at the beginning of the list is applied.
- To add an element to a catch, drag the element over the dashed, gray box that appears in the flow from the Catch icon for the catch that you want to apply the element to.
- Click Save to save your changes.
What to do next
If you added a catch for ConnectionError, SOAPError, or OperationError, you must add the same error to the Stop on error setting for the Invoke policy in your assembly. otherwise if the error occurs during the execution of the Invoke policy, it is not caught, the policy execution is allowed to complete, and the assembly flow continues. For details on configuring an Invoke policy, see Invoke.
For details of all the errors that can be returned by the assembly and are available to the catch function, see Error cases supported by assembly catches.