[ https://issues.apache.org/jira/browse/SIS-460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Desruisseaux updated SIS-460: ------------------------------------ Description: In current {{org.apache.sis.filter}} implementation, failure to evaluate an expression are caught and logged, then {{null}} is returned. For example if the evaluation of A+B fail with an integer overflow, the {{ArithmeticException}} is caught and {{null}} is returned. We should probably revisit this policy, maybe by letting the exception propagate. Expressions and filters are often used for building subsets of {{FeatureSet}}. In such case, null values returned from {{Expression}} become missing properties in the new {{Feature}} instances. We could store the reason for nil values in an characteristic of the missing property. The characteristic name would be a "standard" (for SIS code base) name declared in {{AttributeConvention}}. The caught exceptions can be located by searching usages of {{Node.warning(Exception)}} method. was: In current {{org.apache.sis.filter}} implementation, failure to evaluate an expression are caught and logged, then {{null}} is returned. For example if the evaluation of A+B fail with an integer overflow, the {{ArithmeticException}} is caught and {{null}} is returned. We should probably revisit this policy, maybe by letting the exception propagate. The caught exceptions can be located by searching usage of {{Node.warning(Exception)}} method. > Improve exception handling in filters > ------------------------------------- > > Key: SIS-460 > URL: https://issues.apache.org/jira/browse/SIS-460 > Project: Spatial Information Systems > Issue Type: Improvement > Components: Features, Storage > Reporter: Martin Desruisseaux > Priority: Major > > In current {{org.apache.sis.filter}} implementation, failure to evaluate an > expression are caught and logged, then {{null}} is returned. For example if > the evaluation of A+B fail with an integer overflow, the > {{ArithmeticException}} is caught and {{null}} is returned. We should > probably revisit this policy, maybe by letting the exception propagate. > Expressions and filters are often used for building subsets of > {{FeatureSet}}. In such case, null values returned from {{Expression}} become > missing properties in the new {{Feature}} instances. We could store the > reason for nil values in an characteristic of the missing property. The > characteristic name would be a "standard" (for SIS code base) name declared > in {{AttributeConvention}}. > The caught exceptions can be located by searching usages of > {{Node.warning(Exception)}} method. -- This message was sent by Atlassian Jira (v8.3.2#803003)