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