Am 06.10.2016 um 21:07 schrieb Brandon Allbery via RT:
> Actually, now that I think about it, there is something that can be done;
> not ideal, but the best we could do under the circumstances. Callbacks
> should be given default exception handlers that at minimum output the
> original exception (which currently is being lost when finding the
> exception handler fails) and say they're aborting because there's no way to
> pass the exception back through C to the outer Perl scope. Something like:
>
>     Exception in Perl callback cannot be passed back through native code.
> All we can do is die. Sorry.
>     Unhandled exception:
>     (actual thrown exception here)

Actually that's the only sane way to deal with such a situation, and 
that should be documented behaviour for callbacks.

Essentially, it's a special case of a callback failing for some reason; 
any well-designed callback API should offer a way to report back 
"failure" in some way, be it via an exception, a return code (plus 
hopefully a data block with more info), or whatever. If the API is not 
well-designed, the best the callback can do in case of failure is to die 
with an error message.


Reply via email to