[Rcpp-devel] Raise a condition
tkeitt at utexas.edu
Thu Jun 19 00:15:01 CEST 2014
On Wed, Jun 18, 2014 at 5:07 PM, Romain Francois <romain at r-enthusiasts.com>
> Le 18 juin 2014 à 23:54, Tim Keitt <tkeitt at utexas.edu> a écrit :
> I'd like to raise a condition other than error or warning. Is that
> possible using the Rcpp api? I assume this can be done via R internals, but
> I'd prefer not to call error() directly (or is that the recommendation?).
> Definitely not. Rf_error should really only be called from C code. If you
> call it from C++, there is a great chance you'll lose determinism as
> destructors for your c++ objects are very likely not to be called. Most of
> the time, it will just mean you'll never release some objects to the
> garbage collector, but it could also get you leaks or other nice stuff
> depending on what your destructors were supposed to do and did not get a
> chance to do.
That was my understanding. Just wanted to be sure it was still the case.
> I'm not sure Rcpp has a way to raise an R condition apart from calling
> stop, which usually is good enough. Otherwise, you can borrow from Rcpp11
> and adapt some code from
Ah. I see. Eval "stop" in the global env with the condition as the
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Rcpp-devel