[
https://issues.apache.org/jira/browse/DAFFODIL-2721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17580368#comment-17580368
]
Steve Lawrence commented on DAFFODIL-2721:
------------------------------------------
Note that a return value of false was deprecated as part of DAFFODIL-2708 in
commit 3b213ce30b1974ecd9fc2260e4f081240da89874 and now throws an abort
exception.
However, it turns out that the SAX Infoset Outputter (and the EXI Infoset
Outputter which uses it in the CLI) use a false return value to signify errors.
So SAX and EXI are currently cause an abort exception and are broken in the
main branch.
> Standardize InfosetInputter and InfosetOutputter error handling
> ---------------------------------------------------------------
>
> Key: DAFFODIL-2721
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2721
> Project: Daffodil
> Issue Type: Bug
> Reporter: Steve Lawrence
> Priority: Major
>
> The API for InfosetInputetr and InfosetOutputter is not well defined. In the
> InfosetOutputter API we have deprecated the use of the boolean return values,
> but have not changed the actual API.
> In both cases, implementations are expected to throw exceptions to report
> errors.
> In the InfosetOutputter, we catch all Exceptions and convert them to an SDE.
> In the InfosetInputter catches various kinds of exceptions based on
> InvalidInfosetExcpetion, but only documents
> NonTextFoundInSimpleContentException. It's not clear if try/catch'es wrap all
> calls to the InfosetInputter.
> We should double check that everything is correct. We may also want to create
> a specific exception for both the inputter and outputter that are consistent
> in naming (e.g. InfosetInputterException/InfosetOutputterException) and use
> these correctly and consistently.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)