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.