This is used by the pipeline try operation to abort the processing of the current SAX event. It is caught by the DynamicProcess and simply discarded as it carries no useful information. The throwing of this exception avoids the need for pipeline processes to check the error recovery state every time that they dispatch an event down the pipeline. The use of this will affect the behavior of any process that needed to do some work after dispatching the event, even if, or especially if an error occurs. In those cases the process should be rewritten to use a try {...} finally {...}
block. It can check the error recovery state as before using {@link com.volantis.xml.pipeline.sax.XMLPipelineContext#inErrorRecoveryMode()}
This extends {@link RuntimeException} rather than{@link SAXException} to avoid it being mistakenly caught by existing badlywritten processes that insisted on rewrapping every exception that they received.
|
|