Function extendr_api::thread_safety::catch_r_error
source · pub fn catch_r_error<F>(f: F) -> Result<SEXP>
Expand description
Wrap an R function such as Rf_findFunction
and convert errors and panics into results.
ⓘ
use extendr_api::prelude::*;
test! {
let res = catch_r_error(|| unsafe {
throw_r_error("bad things!");
std::ptr::null_mut()
});
assert_eq!(res.is_ok(), false);
}