rcpp try-catch,如何阻止错误消息出现?

时间:2018-07-29 03:53:44

标签: r error-handling rcpp

我是Rcpp中错误处理的新手。我想知道如何防止错误消息显示在R控制台中?

举个例子,

在rcpp文件中:

#include <RcppArmadillo.h>
using namespace arma;

// [[Rcpp::export]]
void chol_c(mat M) {
  try {
    mat S = (chol(M)).t();
    Rcpp::Rcout << S << std::endl;
  } catch(...) {    
    Rcpp::Rcout << "things wrong " << std::endl;
  } 
}

在R中:

> mt0=matrix(c(0.5416,  -0.0668 , -0.1538,  -0.2435,
+ -0.0668 ,  0.9836 , -0.0135 , -0.0195,
+ -0.1538 , -0.0135  , 0.0226 ,  0.0334,
+ -0.2435,  -0.0195 ,  0.0334  , 0.0487),4,byrow = T)
> chol_c(mt0)

error: chol(): decomposition failed
things wrong 

我的问题是如何阻止出现“错误:chol():分解失败”?

很抱歉,如果解决方案很明显。谢谢!

0 个答案:

没有答案