Exceptions that trigger fatal and non-fatal failures

It is important to distinguish exceptions that indicate a fatal error and therefore stop an acquisition from exceptions that indicate a non-fatal error and continue acquisition processing.

Methods that cause a fatal error throw a FatalExecutionException. Fatal errors indicate a more global problem. Methods that cause a non-fatal error throw an ExecutionException. Non-fatal errors indicate a more local problem.

If an ExecutionException is thrown by a manipulator extension, the record is discarded from processing. If an ExecutionException is thrown by a data source extension, all records acquired to that point are discarded.