Rcpp try-catch, как остановить отображение сообщения об ошибке?

Я новичок в обработке ошибок в 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 ответов

Другие вопросы по тегам