Uwe Schindler created LUCENE-6961:
-------------------------------------
Summary: Improve Exception handling in AnalysisFactory/SPI loader
Key: LUCENE-6961
URL: https://issues.apache.org/jira/browse/LUCENE-6961
Project: Lucene - Core
Issue Type: Improvement
Components: modules/analysis
Affects Versions: 5.4
Environment: Currently the AnalysisSPILoader used by
AbstractAnalysisFactory uses a {{catch Exception}} block when invoking the
constructor. If the constructor throws stuff like IllegalArgumentExceptions or
similar, this is hidden inside InvocationTargetException, which gets wrapped in
IllegalArgumentException. This is not useful.
This patch will:
- Only catch ReflectiveOperationException
- If it is InvocationTargetException it will rethrow the cause, if it is
unchecked. Otherwise it will wrap in RuntimeException
- If the constructor cannot be called at all (reflective access denied, method
not found,...) UOE is thrown with explaining message.
This patch will be required by next version of LUCENE-6958.
Reporter: Uwe Schindler
Assignee: Uwe Schindler
Fix For: 5.5, Trunk
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]