首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dcl脚本中隐藏错误消息

在dcl脚本中隐藏错误消息
EN

Stack Overflow用户
提问于 2013-02-14 00:11:56
回答 2查看 1.2K关注 0票数 2

我有一个我正在运行的测试脚本,它生成了一些错误,如下所示,我希望出现这些错误。但是,有没有什么办法可以阻止它们在屏幕上显示呢?我使用

代码语言:javascript
复制
$ write sys$output

以显示是否存在预期的错误。

我试着用

代码语言:javascript
复制
$ DEFINE SYS$ERROR ERROR.LOG

但是这改变了我的整个错误输出日志,如果这是正确的处理方式,我可以在我的脚本末尾取消设置吗?

错误示例

代码语言:javascript
复制
%DCL-E-OPENIN, error opening TEST$DISK:[AAA]NOTTHERE.TXT; as input
-RMS-E-FNF, file not found
%DCL-E-OPENIN, error opening TEST$DISK:[AAA]NOTTHERE.TXT; as input
-RMS-E-FNF, file not found
%DCL-W-UNDFIL, file has not been opened by DCL - check logical name
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-14 00:51:51

若要隐藏脚本中的错误消息,请执行以下操作。尝试此命令

代码语言:javascript
复制
 $ DEFINE/USER SYS$ERROR NL:

NL:是空设备,因此您的终端上不会显示任何错误消息。

祝好运

票数 1
EN

Stack Overflow用户

发布于 2013-02-14 04:07:40

DEFINE/USER创建一个逻辑名称,该名称在下一个映像退出时消失。所以如果你只是在命令之前使用它来保护命令,那就没问题了。否则,我更喜欢用SET MESSAGE来控制输出。

当然,您可能想要获取$STATUS,并在命令执行后验证它是否成功或出现预期错误,并报告任何意外错误。

更好的是...如果您预计会出现某些错误条件,为什么不测试它们呢?例如:

代码语言:javascript
复制
$ file = F$SEARCH("TEST$DISK:[AAA]NOTTHERE.TXT")
$ IF file.NES."" THEN TYPE 'file'

干杯,海因

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14857868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档