我有一个正在运行的测试脚本会产生一些错误,如下所示,我希望这些错误。反正我可以阻止它们出现在屏幕上吗?
$ write sys$output
显示是否存在预期错误。
我尝试使用
$ DEFINE SYS$ERROR ERROR.LOG
但是这会将我的整个错误输出日志更改为此,如果这是处理它的正确方法,我可以在脚本的某端以某种方式取消设置吗?
[错误示例]
%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
答案 0 :(得分:5)
DEFINE / USER创建一个逻辑名称,在下一个图像退出时消失。 因此,如果您只是在命令之前使用它来保护该命令,那么很好。 否则我更喜欢SET MESSAGE来控制输出。
当然,yoy想要获取$ STATUS并在成功命令或预期错误后验证它,报告任何意外错误。
更好的是......如果您预计会出现某些错误情况, 那为什么不测试它们呢? 例如:
$ file = F$SEARCH("TEST$DISK:[AAA]NOTTHERE.TXT")
$ IF file.NES."" THEN TYPE 'file'
干杯, 海因
答案 1 :(得分:1)
禁止脚本中的错误消息。试试这个命令
$ DEFINE/USER SYS$ERROR NL:
NL:
是一个空设备,因此您不会在终端上看到任何错误消息。