Error Handling

Interface error handling is always going to be specific to the systems you are integrating and your workflow, there is no one way to handle all error scenarios. The good news is that Iguana gives you the control to determine exactly how errors will be handled.

Thinking through error handling is a key skill in building robust interfaces. Identifying the severity and nature of the error will guide you in determining the best combination of approaches for how to handle the error.

Severity of the Error:

Critical errors are those that have a significant impact on functionality, often leading to a failure of the entire process. These errors require immediate attention and intervention.

You may want to halt processing and stop the component. See error() and iguana.stopOnError()

Non-critical errors are those where you can continue processing without any risk corrupting data. For example, updating a record that doesn't exist in a database yet.

May want to catch the exception and handle it appropriately. See pcall() and iguana.log Custom Logging.

Nature of the Error:

Temporary Errors are those that often occur when dealing with unreliable external resources, such as databases, web services, network issues and other self-correcting problems

Can usually be solved by retrying after a delay. See the Retry Library

Content specific errors can be missing or malformed data sent from a source system. These can be handled differently depending on the severity of the bad data.

 

Related pages