我可以将关于未初始化变量的注释推广到错误

Dav*_*cke 10 error-handling warnings sas

当SAS遇到未初始化的变量时,它会向日志输出一个如下所示的注释:

NOTE: Variable not_in_data is uninitialized.
Run Code Online (Sandbox Code Playgroud)

是否可以将SAS输出该消息作为警告或错误?

DWa*_*Wal 16

是(在9.4或更高版本中):

option varinitchk = error;

默认值为note,其他可能的值为nonotewarning.

还有一个未记录的功能可以将某些注释更改为错误.您可以使用设置选项option dsoptions = note2err; 或者通过添加/ note2err到数据声明中.我在SAS-L上找到了这个选项更改为错误的注释列表:

19   Variable %*v is uninitialized.
97   Missing values were generated as a result of
98   Division by zero detected at %2q.
99   Mathematical operations could not be performed
108  Invalid numeric data, '%*s' , at %2q.
109  Invalid character data, %f , at %2q.
110  Invalid %sargument to function %b at %2q.
139  Argument to function %*s is not a known variable name:  %*v.
140  Argument to function %*s is not a valid variable name:  %*s.
205  Invalid argument(s) to the exponential operator "**" at %2q.
208  Invalid numeric data, %*s='%*s' , at %2q.
209  Invalid character data, %*s=%f , at %2q.
223  A number has become too large at %2q. %w%*s
224  A number has become too large during the compilation phase.
225  Division by zero detected during the compilation phase.
242  Invalid argument(s) to the exponential operator "**".
258  Invalid argument to function %*b at %2q.
259  Invalid first argument to function %*b at %2q.
260  Invalid second argument to function %*b at %2q.
261  Invalid third argument to function %*b at %2q.
262  Invalid fourth argument to function %*b at %2q.
267  Argument %d to function %*b at %2q is invalid.
356  The SUBSTR pseudo-variable function does not allow character
424  Character values have been converted to numeric
425  Numeric values have been converted to character
429  A number has become too large during the compilation phase,
430  Division by zero detected during the compilation phase,
484  Format %*b was not found or could not be loaded.
485  Informat %*b was not found or could not be loaded.
Run Code Online (Sandbox Code Playgroud)

资源

  • 实际上有一个未记录的功能可以将某些注释更改为错误.您可以使用`option dsoptions = note2err;`或通过将`/ note2err`添加到特定数据步骤来设置选项.这适用于未初始化的变量和隐式类型转换.我不知道它可能转换的其他注释. (4认同)
  • dsoptions=note2err 上+1。它使很多糟糕的笔记变成了错误。希望有一天他们能将其记录下来并使其正式化。 (2认同)

归档时间:

查看次数:

864 次

最近记录:

10 年,11 月 前