RPA exception handling – Building successful automations
Exceptions are events that change the normal flow of program execution, and there are two key types: 1) a business exception and 2) a system (or application) exception.
It is important to effectively handle both types of exception to ensure the continued or uninterrupted function of your automated processes, and it is even more important to ensure an unattended process can automatically handle exceptions when the robot is expected to run “lights out” with minimal human intervention.
Business exceptions occur when established business rules are broken or where the data within the process does not meet defined criteria. For example, if a payment amount is higher than the automated approval amount, the payment approval cannot be authorised by the robot. These types of exception would be escalated or routed to a human for judgement or processing.
In many cases, system-based exceptions were not foreseen nor accounted for within the development of the automation, and can include non-responding applications, application outages and changes made to the user interface or construct of an application. With the growing trend of third-party cloud-based applications, it’s not always possible to control or even get advance warning of such system changes, therefore ongoing monitoring and maintenance is an essential element to ensure the continued success of any automations.
Best practice is to develop automations around a framework that gracefully exits and restarts the process. The UiPath ReFramework is one example of this, where the automation is developed to close all applications down, by either logging off and closing the application or terminating services within Windows task manager, and then restarting the automation. The amount of process restarts can also be specified, before the process ultimately fails.
Some application exceptions can be accounted for within the development of the automation. For example, an application password may expire after a defined number of days and require a reset. In this case it would be possible to create a routine to automatically reset the password and update the password credential store. These types of exceptions should be captured when assessing and understanding the As-Is processes and accounted for within the To-Be solution design.
During UiPath Forward EMEA 2018, UiPath announced that it was working on extending the exception handling capabilities of its products by using a combination of Machine Learning and Artificial intelligence to give the robots capability to identify system exceptions such as pop ups and take appropriate action without the need for additional coding, which would be an incredibly beneficial and time-saving addition for RPA developers.
In conclusion, adequate and appropriate exception handling is an essential element of successful RPA development, regardless of which RPA platform you deploy, and will deliver more robust, self-sustaining automations that your business can rely on. It’s also imperative to document any exceptions from the start and incorporate these into the solution design for testing before going live.