You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "Steve Lawrence (Jira)" <ji...@apache.org> on 2021/03/18 19:15:00 UTC
[jira] [Updated] (DAFFODIL-2356) Confusing diagnostic with a PE is
the cause of another PE
[ https://issues.apache.org/jira/browse/DAFFODIL-2356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Lawrence updated DAFFODIL-2356:
-------------------------------------
Priority: Minor (was: Major)
> Confusing diagnostic with a PE is the cause of another PE
> ---------------------------------------------------------
>
> Key: DAFFODIL-2356
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2356
> Project: Daffodil
> Issue Type: Bug
> Components: Diagnostics
> Reporter: Steve Lawrence
> Priority: Minor
>
> When delimiter scanning fails to find a delimiter, it creates a PE that is something like "Separator foo not found". The SeparatorParseHelper will checked for failures and create a new PE that's something like "Failed to parse infix separator", providing the first as a cause. This can be confusing because both the new PE and the cause PE include context information.
> Furthurmore, the cause PE is also a separate diagnostic, so it too is printed. So the output of such a failure looks something like:
> {code}
> Parse Error: Failed to parse infix separator. Cause: Separator foo not found
> Schema Context: context for cause PE
> Schema Context: context for new PE
> ParseError: Separator foo not found
> Schema Context: context for cause PE
> {code}
> This nesting of contexs and duplciate PE makes for a very confusing and unclear diagnostic.
> Perhaps we shouldn't include PE as a cause for other PE's to avoid this nesting, especially considering the cause PE will already be output as a diagnostic?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)