lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1646) QueryParser throws new exceptions even if custom parsing logic threw a better one
Date Wed, 20 May 2009 11:03:45 GMT

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

Michael McCandless commented on LUCENE-1646:
--------------------------------------------

I agree it's bad that the root cause (stack trace) is discarded by the exception handler,
so we should fix that, but I think adding the query text in the exception's message is in
fact useful for debugging -- this exception will likely get captured & generically logged
somewhere, only to be seen later at which point you really do want to know which query text
caused it.

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


Mime
View raw message