在SAS IML中从R捕获返回代码

在SAS IML中从R捕获返回代码,r,sas,sas-iml,R,Sas,Sas Iml,我有一个提交/rIML中的块。95%的情况下,运行正常。其他时候R中有一个错误 我的日志显示 ERROR: R: <whatever the error message is> 错误:R: 发生错误时,输出不可用。有没有办法捕获或检测第一个错误,这样我就不会尝试提取不存在的输出?使用submit语句()中的ok选项。在代码的后面,您可以根据存储ok中信息的变量值来处理错误 submit / R ok = isOK; * Do stuff; endsubmit; if isO

我有一个
提交/rIML中的块。95%的情况下,运行正常。其他时候R中有一个错误

我的日志显示

ERROR: R: <whatever the error message is>
错误:R:

发生错误时,输出不可用。有没有办法捕获或检测第一个错误,这样我就不会尝试提取不存在的输出?

使用
submit
语句()中的
ok
选项。在代码的后面,您可以根据存储
ok
中信息的变量值来处理错误

submit / R ok = isOK;
  * Do stuff;
endsubmit;

if isOK then do;
  * Handle the no error case;
end;
else
  * handle the error case;

您似乎无法捕获错误消息本身,除非您编写R脚本以返回一些错误代码而不是失败。

似乎不起作用。我得到一个错误,isOK=0。也许我使用的R函数没有设置错误代码。你能重构R代码来抛出并捕获错误吗?是的,已经朝这个方向发展了。实际上不是我的R代码,但我有足够的时间去做。谢谢你的洞察力。