Exceptions
Learn how to use the Catch node to handle errors
When your flow is running, nodes may throw exceptions. To handle these exceptions you can use a Catch node.
The below example shows a simple exception caused by not providing a file path for the Open Excel node.
When running your flow from the Flow Designer, the robot runtime is paused when an exception is raised. But if the flow is not started by the Flow Designer, the robot immediately stops the flow when it encounters an unhandled exception. This can be a scheduled flow or a triggered flow running on your production robot.
Error details can be seen below in the Output panel. You can expand the details by left-clicking the JSON object shown in the Output panel.
To handle these exceptions you can use a special node named "Catch"
The Catch node catches exceptions selectively. You can catch the exceptions from the nodes you want by only selecting the nodes from the properties panel of the Catch node.
It is difficult to select/unselect each node one by one and catch the errors of that those nodes with a Catch node. In this case, you can group the nodes inside a Subflow node and catch just this one subflow node's exception with a Catch node.
The message object injected from the Catch node will include the error field that can be used to decide what to do next.
If you want to not use a catch node and want the node to continue flow without throwing an exception then you can select the "Continue on Error" option in the Common section of the node you want to ignore errors.
If this option is selected, the node will not throw an exception and continue the flow as below:
The "Continue on Error" option sometimes hides the problem and makes it difficult to find the real cause of an error. So when an exception is thrown and "Continue on Error" is selected, the robot logs this as a warning but the flow continues as expected.