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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to