Advanced Customization > Info*Engine User’s Guide > Server Access Kit > About the Server Access Kit > Catching Errors
  
Catching Errors
If any error conditions are detected while executing the task, Java exceptions are thrown. The calling application can use normal Java try/catch logic to catch and inspect exceptions when that is desirable. Of course, if the task executes successfully without detecting any error conditions, no exceptions are thrown.
When the addProcessor method is used to specify that a task must be executed in a non-local task processor, Info*Engine automatically establishes communications with the task processor, conveys the request to execute the non-local task (including transmission of all parameters and service options), and retrieves all results. If a remotely executed task throws an exception, the exception is conveyed back to the local JVM and rethrown there. If more than one task processor is specified by calling addProcessor more than once, Info*Engine attempts to establish communications with the specified processors in the order in which their names were added. The task is executed in the first processor with which communications are established successfully.
In general, when Info*Engine detects error conditions during the course of executing tasks, it throws exceptions. When underlying services and APIs used by Info*Engine throw exceptions, Info*Engine wraps these in its own exception classes. Consequently, all Info*Engine exception classes can contain nested Throwable objects. The Info*Engine exception classes provide methods for obtaining these nested Throwable objects so that applications can determine the root causes of error indications.
For details on the com.infoengine.util.IEException class and its subclasses, see the Javadoc.