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