Michael - I modified your example to use Rcpp::exception.
I think this was implemented here: https://github.com/RcppCore/Rcpp/pull/663/ Kyle ```{r} library(Rcpp) sourceCpp(code=' #include "Rcpp.h" // [[Rcpp::export]] Rcpp::NumericVector internal_function_name(Rcpp::NumericVector x){ throw Rcpp::exception("My error message.", false); return x + 2; }') add2 <- function(x){ if(!is.numeric(x)){ x <- as.numeric(x) } do.call(internal_function_name, list(x)) } add2(1:5) ``` On Mon, Mar 5, 2018 at 4:35 PM, Michael Weylandt <michael.weyla...@gmail.com > wrote: > Hi, > > Is there any (easy) way to get Rcpp::stop() to behave like > base::stop(..., call.=FALSE)? That is, to just print the error message > (possibly preceded by "Error: ") without the name of the calling > function. > > Right now, the error message produced by an Rcpp::stop call returns > info about the caller, which isn't helpful for my users. (I do a bit > of trickery to build an argument list and then use do.call() to call > the RcppAttributes-generated wrapper) I'm happy to put the function > name in the error message, but I'd like to remove the unhelpful part. > > Here's an (admittedly awkward) minimal example: > > ```{r} > library(Rcpp) > > sourceCpp(code=' > #include "Rcpp.h" > > // [[Rcpp::export]] > Rcpp::NumericVector internal_function_name(Rcpp::NumericVector x){ > Rcpp::stop("My error message."); > return x + 2; > }') > > add2 <- function(x){ > if(!is.numeric(x)){ > x <- as.numeric(x) > } > > do.call(internal_function_name, list(x)) > } > > add2(1:5) > ``` > > This prints: "Error in (function (x) : My error message." I'm hoping > to get "Error: My error message." > > Cheers, > Michael > _______________________________________________ > Rcpp-devel mailing list > Rcpp-devel@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel > -- Kyle Baron, PharmD, PhD Senior Scientist Metrum Research Group
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel