我尝试将它放在所有程序之前(使用选项在预处理中包含代码):
OPTIONS ERRORABEND;
它会触发警告弹出窗口,但下一个文件会被执行。例如:
A - > B - > C - > d
如果A有错误,我会得到一个弹出窗口,说明发生错误并且服务器已断开连接,但是B,C和D也会运行。我希望项目执行停在A。
我有几个老项目,有几十个甚至几百个程序,因此我不考虑使用宏(Is there a way to make SAS stop upon the first warning or error?)同时检查错误作为选项。
可以做些什么?
谢谢!
编辑:这适用于SAS Entreprise Guide 7.1
答案 0 :(得分:0)
我认为最好的方法是在Macro中编写,例如:
%Macro error_check;
'your process for A';
%if &syserr > 0 %then %do;
%goto exit;
%end; /* if your systemerror value is greater than zero, then go to exit directly */
'your process for B';
'your process for C';
'your process for D';
%exit: /* be careful, it is not semicolon*/
%Mend;
试着不要将%if& syserr循环放在“数据运行语句”中。我试图这样做,事情变得复杂。