如果遇到错误,请停止SAS EG项目

时间:2015-07-08 19:46:00

标签: error-handling sas

我尝试将它放在所有程序之前(使用选项在预处理中包含代码):

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

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循环放在“数据运行语句”中。我试图这样做,事情变得复杂。