gpt4 book ai didi

error-handling - 我可以在第一个错误时停止提交的报表吗?

转载 作者:行者123 更新时间:2023-12-03 08:43:16 25 4
gpt4 key购买 nike

仅出于调试目的:是否有办法在第一个错误时停止执行一系列提交的语句?

假设我有三个步骤,其中第二条语句有错误。假设我在SAS窗口中一次运行所有它们。然后,我希望SAS由于第二句中检测到错误而成功执行了第一句并停止工作。然后,我可以轻松地去那里解决此问题。

但是实际上发生的是SAS尝试执行所有三个步骤(即第一,第二(虽然有错误)和第三)。希望对此有解决方案。

两句话:

  • 我发现以下代码可能会有所帮助,但实际上没有帮助。否则,请赐教。
  • options syntaxcheck dmssynchk;
  • 我不想使用SAS选项errorabend,因为它会关闭SAS session 本身。我只希望SAS停止“提交的代码”,并想解决此问题。

  • 提前致谢。

    最佳答案

    有一个常用的宏称为%runquit,它允许...不确定其起源,但是在这里:

    %macro runquit;
    ; run; quit;
    %if &syserr. ne 0 %then %do;
    %abort cancel;
    %end;
    %mend runquit;

    proc sort data=asdasd;
    by _all_;
    %runquit;

    data abc;
    a = 1;
    b = 2;
    c = 3;
    %runquit;

    缺点是您必须用对 run;的调用来替换任何 quit;%runquit语句,从而使代码不太美观。

    相关的StackOverflow问题可以在 here中找到。

    另外,有关其他解决方案,请参见 this discussion

    关于error-handling - 我可以在第一个错误时停止提交的报表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59795010/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com