[ 
https://issues.apache.org/jira/browse/LUCENE-6961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-6961:
----------------------------------
    Description: 
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.

> 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
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 5.5, Trunk
>
>         Attachments: LUCENE-6961.patch
>
>
> 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.



--
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