- 13 May 2022
- 2 Minutes to read
Best Practices For System/Application Level Error Handling
- Updated on 13 May 2022
- 2 Minutes to read
This article serves as an overview of best practices for error handling for a Server in Production. This article outlines an example for how errors can be managed across a Server. This is necessary because certain errors cannot be caught/managed within Decisions or are better managed with other tools.
The following diagram outlines three different tiers that comprise this error handling approach:
The Decisions Login page shows an error and exception message when Service Host Manager is down to inform the user that the service cannot be reached, not as a form of monitoring. It is recommended to use an Uptime Monitoring Tool to monitor the status of the site.
These tools check a web page at regular time intervals (usually every five to 15 minutes), then monitor the response. If the response returns an Error or the request couldn’t reach it, the tool sends notifications to inform of the outage so that the Administrator can take appropriate action.
Process Errors are errors occurring at the Workflow level in Decisions. These errors can make their way into System Level Logs, but cannot necessarily be handled at the System Error Level. These errors should be managed within Decisions by configuring Flows to catch Unhandled Exceptions using either the Catch Exception step or the On Exception outcome path of a step. For more information, please visit the Exception Handling Best Practices article.
These errors can be caught and handled at the System Level, but not in Decisions at the Process Error Level. For example, if a Flow is triggered by an API Call, but the call is poorly formatted and does not reach Decisions, there is no way that Process Level Error Handling can capture an Exception.
One way to manage these errors is to use a Log Ingestion Tool. These software tools are capable of reading into errors from Decisions at a more granular level than Decisions exception handling. They take in Logs from Decisions and other sources, filtering out unnecessary information, combining the relevant pieces to provide detailed System Level information for an Error Event.
For these tools to be beneficial, they need to be configured to ingest more than just the Decisions Logs. A Log Ingestion Tool could be configured to take in data from the Decisions Service Host Manager Logs, IIS Logs, LM Logs, Event Viewer Logs, SQL Server Logs, etc. Many of these tools will generate Reports on the information collected from Error Events.