Sas 从输入语句捕获由_ERROR uu条件生成的注释
下面是我的问题的简单描述。我不控制数据,也不控制应用的格式(这是存储过程Web应用的后端服务)。我的目标是返回生成的错误消息-在本例中,它实际上是一个Sas 从输入语句捕获由_ERROR uu条件生成的注释,sas,Sas,下面是我的问题的简单描述。我不控制数据,也不控制应用的格式(这是存储过程Web应用的后端服务)。我的目标是返回生成的错误消息-在本例中,它实际上是一个注释 data _null_; input x 8.; cards; 4 4 ; run; 上述情况产生: 注:第61 1-8行中x的数据无效。规则: ----+----1---+--2---+--3---+--4---+--5---+--6---+--7---+--8---+--9---+--0 61 4 4 x=。错误=1 N=1注:使用了数
注释
data _null_;
input x 8.;
cards;
4 4
;
run;
上述情况产生:
注:第61 1-8行中x的数据无效。规则:----+----1---+--2---+--3---+--4---+--5---+--6---+--7---+--8---+--9---+--0 61 4 4 x=。错误=1 N=1注:使用了数据语句(总计 处理时间): 实时0.00秒 cpu时间0.01秒 捕获错误状态非常简单(
如果出错,那么执行
),但我想做的是返回注释的值-它方便地告诉我们哪列无效,以及行号和列号
不扫描日志就可以这样做吗?我尝试了
sysmsg()
和syswarningtext
,但没有效果。好的,在数据步骤运行时,没有捕获数据步骤导致的注释的功能
由于您处于STP环境中,您可以使用:
在会话启动或-altlog
proc printto log=…
然后进行扫描。我有一点希望,未记录的系统选项dsoptions=note2err可以帮助您将注释:转换为错误:,这样您就可以使用&syserrotext。但遗憾的是,即使打开了note2err,它仍然是一张便条。我想一定是这样的。下一个挑战-如何找出日志当前被重定向的位置!找到-由于Q(SAS-L),当前日志位置(如果重定向)位于
SYSPRINTTOLOG
系统选项中。