[pylucene-dev] can't override QueryParser.parse()

Andi Vajda vajda at osafoundation.org
Wed Nov 14 09:36:24 PST 2007


On Wed, 14 Nov 2007, Bill Janssen wrote:

> But I still have the problem reflected in the stack trace with GDB:
> the "value" being extracted is not of the Python type JavaError (it's
> of the Python type "Throwable"), and doesn't have the method
> "getJavaException", while the "exc" *is* of type JavaError.  Either
> the code in PyErr_SetJavaError() isn't correct, or the code in
> throwPythonError() isn't correct.

The example code you sent me now runs fine. Did you rebuild JCC and PyLucene 
with the fix. If so, and you still have the problem, then the bug I fixed is 
different and I'd still need a piece of code from you that reproduces the 
problem you're still having.

> PyErr_SetObject() basically just stores the three values you give it
> in three thread-global slots; it doesn't create a new instance of type
> "exc" and somehow assign "value" to a slot in that instance.

That may be so but when it comes time to raise the actual exception and 
instantiate it, these three values are used to create an instance of JavaError 
whose data element is the actual wrapped java throwable.

Andi..



More information about the pylucene-dev mailing list