[R-pkg-devel] how to throw a C++ exception across modules
Joshua N Pritikin
jpr|t|k|n @end|ng |rom pobox@com
Sat Sep 28 01:56:20 CEST 2019
OpenMx exports an API that I import into another package (gwsem) like
aldp = R_GetCCallable("OpenMx", "AddLoadDataProvider")
gwsem registers some C++ classes through this API.
This works great until gwsem throws a C++ exception. OpenMx calls gwsem in
a try-catch region. This works flawlessly on Linux. However, it seems to
not work on Windows. win-builder.r-project.org complained,
** running tests for arch 'i386' ... [23s] ERROR
Running 'testthat.R' [22s]
Running the tests in 'tests/testthat.R' failed.
Loading required package: OpenMx
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
terminate called after throwing an instance of 'std::runtime_error'
what(): MxComputeLoadData: out of data (record 250 requested but only 199 in file)
What solution is recommended?
Joshua N. Pritikin, Ph.D.
Virginia Institute for Psychiatric and Behavioral Genetics
Virginia Commonwealth University
PO Box 980126
800 E Leigh St, Biotech One, Suite 1-133
Richmond, VA 23219
More information about the R-package-devel