[Rcpp-devel] Rcpp::stop() equivalent of base::stop(...,	call.=FALSE)
    Kyle Baron 
    kyleb at metrumrg.com
       
    Tue Mar  6 00:04:44 CET 2018
    
    
  
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.weylandt at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20180305/fdad2e4b/attachment.html>
    
    
More information about the Rcpp-devel
mailing list