[C++-sig] What's wrong here? (BPL V2)
bugcreator at gmx.de
Fri Jun 14 04:04:49 CEST 2002
On Friday 14 June 2002 02:44, David Abrahams wrote:
> <<Ah, you're right, it's indeed an exception I didn't catch:
> ReferenceError: Attempt to return dangling internal reference>>
> That's still strange. What was the context? The built-in
> handle_exception() function should have converted this to something
> visible in Python.
Well, I don't use handle_exception(), at least not directly.
I'm embedding Python in a C++ program, and not vice versa. I'm not quite
sure what the correct way to handle exceptions is in this case, but the
"usual" way won't work.
I was calling the extractor directly from C++, so there was no
handle_exception() involved, and the exception wasn't caught.
> <<<Constructing an additional handle<> doesn't change anything, I still
> get the same error...>>
> First remember that a handle<> adopts by default; to get it to
> increment the reference count you need to pass the PyObject* through
> the borrow() function.
No wonder that handle<> didn't help... But borrow() solves the problem
indeed, the extractor works now!
More information about the Cplusplus-sig