gpt4 book ai didi

error-handling - SAS : How to Prevent ABORT on Error

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

我的&syserr.1020出现预期的错误。遇到错误时,程序将终止,并显示以下消息:

FATAL: Unrecoverable I/O error detected in the execution of the DATA step program.
Aborted during the EXECUTION phase.

我知道问题出在哪里,没有解决方案。但是,由于我知道导致问题的原因,所以我想在程序终止之前提醒用户如何解决问题。

也就是说,在发生错误和程序中止之间,我要执行一些代码。

我搜寻了互联网,找不到任何无法完成的信息。实际上,关于SO的许多答案都暗示可以做到。但是我不知道如何。

最佳答案

由于您知道已设置&syserr,因此一种选择是编写自己的%OnError宏,例如:

%macro OnError(debug=0);
%if &syserr ne 0 %then %do;
%*blah blah blah;
%end;
%mend OnError;

因此,您的代码如下所示:
data want;
set have;
oops;
run;
%OnError()

请注意,在每个步骤边界之后都会重置&syserr,因此您需要在可疑步骤之后立即对其进行测试。还有其他带有返回代码的宏变量。

如果错误严重到足以使SAS进入语法检查模式(将obs = 0设置为noreplace),则您将不得不做更多的工作来进行恢复。但是我认为在交互式SAS中默认情况下禁用此功能。

关于error-handling - SAS : How to Prevent ABORT on Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40182857/

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