Handler to allow strategies for re-throwing exceptions. Normally a
CompletionPolicy will be used to decide whether to end a batch when
there is no exception, and the ExceptionHandler is used to signal an
abnormal ending - an abnormal ending would result in an
ExceptionHandler throwing an exception. The caller will catch and
re-throw it if necessary.