Re: Throwing exceptions from XS code

[email protected] (Emmanuel Rodriguez)
Newsgroups perl.xs
Message-ID <CAGwXj+QZzU8S8gc58eNqRCSErBQie5ZTOLca21pR7h0XSs5wZg@mail.gmail.com>
On Wed, Oct 26, 2011 at 22:02, Steffen Mueller <[email protected]> wrote:
> On 10/26/2011 09:11 PM, Emmanuel Rodriguez wrote:
>>
>> Is it possible to throw an blessed exception from XS code? If so how
>> can I achieve this? Otherwise, how can I propagate an error as a
>> string and free the string?
>
> Haven't tried myself, but: Set $@ yourself and then croak(NULL). From
> perlapi.pod:
>
>                  errsv = get_sv("@", GV_ADD);
>                  sv_setsv(errsv, exception_object);
>                  croak(NULL);
>

It works, at least no crashes so far :)

Another question: since I'm returning now the sv exception_object, do
you know if I have to call sv_2mortal() on it?

Thanks!
-- 
Emmanuel Rodriguez
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.