【问题标题】:Stop SAS from running after encountering an error遇到错误后停止运行 SAS
【发布时间】:2015-05-11 18:05:29
【问题描述】:

是否有一个简单的选项会导致 SAS 在遇到错误时停止运行。类似于选项ERRORABEND,除了不退出SAS?

我看到了其他问题 - 例如。 Stop SAS Program on ErrorStop SAS macro execution on error 但是这些问题似乎有些不同,因为要么处理远程服务器/处理已知位置的预期错误。我很难相信/理解没有简单的方法可以阻止错误,除非在代码中放置宏来查找错误。

【问题讨论】:

  • 你的意思是交互式运行时?
  • @RobertPenr​​idge 我的意思是,当我点击提交运行代码时,我希望它运行直到它遇到错误,然后停止(而不是尝试继续下一行代码,尽管错误)。
  • 这是另一个similar question。这是a paper 的另一个解决方案。
  • 其实我从来没有质疑过这种行为,但是当我想到它时,你是对的。在交互式 SAS 中应该可以在发生错误或警告时停止提交代码。据我所知,这是不可能的。我建议你提交SASware Ballot

标签: sas


【解决方案1】:

我相信您正在寻找的是应用程序工具栏上的break 按钮。它是带有圆圈的感叹号。

注意:确保不要点击clear all 按钮(这是程式化的“X”)!!它将清除您所有的程序编辑器代码并且无法撤消。

【讨论】:

  • @kyrenia 这显然是一种手动方法。不知道你问的是不是这个。
【解决方案2】:

您可以使用options syntaxcheck ;在出错后启用语法检查模式。

所以,为了实现我认为你想要实现的目标:

选项 noerrorabend 语法检查;

https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#base-sysop-syntaxcheck.htm

【讨论】:

  • Chris - 仅适用于非交互式会话(即批处理会话)。
  • syntaxcheck (and obs=0) 是 SAS 遇到错误时的默认值,但它不会阻止其余代码的提交,只会阻止它被执行。我认为 OP 希望保持日志不会造成混乱。
猜你喜欢
  • 1970-01-01
  • 2021-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-27
相关资源
最近更新 更多