[ 
https://issues.apache.org/jira/browse/LUCENE-1646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727209#action_12727209
 ] 

Uwe Schindler commented on LUCENE-1646:
---------------------------------------

Mike: After LUCENE-1713, I recreated the QueryParser with javacc (because some 
changes in creation of RangeQueries), but the produced QueryParser.java did not 
contain your changes.

I copied your initCause() lines to QueryParser.jj and then it worked, I commit 
this together with LUCENE-1713.

> QueryParser throws new exceptions even if custom parsing logic threw a better 
> one
> ---------------------------------------------------------------------------------
>
>                 Key: LUCENE-1646
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1646
>             Project: Lucene - Java
>          Issue Type: Improvement
>    Affects Versions: 2.4.1
>            Reporter: Trejkaz
>             Fix For: 2.9
>
>
> We have subclassed QueryParser and have various custom fields.  When these 
> fields contain invalid values, we throw a subclass of ParseException which 
> has a more useful message (and also a localised message.)
> Problem is, Lucene's QueryParser is doing this:
> {code}
>     catch (ParseException tme) {
>         // rethrow to include the original query:
>         throw new ParseException("Cannot parse '" +query+ "': " + 
> tme.getMessage());
>     }
> {code}
> Thus, our nice and useful ParseException is thrown away, replaced by one with 
> no information about what's actually wrong with the query (it does append 
> getMessage() but that isn't localised.  And it also throws away the 
> underlying cause for the exception.)
> I am about to patch our copy to simply remove these four lines; the caller 
> knows what the query string was (they have to have a copy of it because they 
> are passing it in!) so having it in the error message itself is not useful.  
> Furthermore, when the query string is very big, what the user wants to know 
> is not that the whole query was bad, but which part of it was bad.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to