PL/1 这个语句怎么触发执行 ON TRANSMIT(GTSFILE),请举例说明
时间: 2023-11-28 20:47:21 浏览: 125
Transmit 5.9.2 一款功能齐全的FTP客户端
在 PL/1 中,ON TRANSMIT(GTSFILE) 是一种异常处理机制,用于在向文件传输数据时发生错误时进行处理。当数据传输到文件时,如果发生错误,则将触发 ON TRANSMIT(GTSFILE) 语句并执行相应的异常处理程序。
下面是一个简单的例子,展示了如何使用 ON TRANSMIT(GTSFILE) 语句:
```
DECLARE GTSFILE FILE RECORD;
DCL RECORD CHAR(80) VARYING;
DCL I FIXED BINARY;
OPEN FILE(GTSFILE, INPUT, ERROR=NOOPEN);
OPEN FILE(GTSFILE, OUTPUT, ERROR=NOOPEN);
DO I = 1 TO 10;
READ FILE(GTSFILE) INTO(RECORD) END;
IF ENDFILE(GTSFILE) THEN LEAVE;
WRITE FILE(GTSFILE) FROM(RECORD) END;
END;
CLOSE FILE(GTSFILE);
NOOPEN:
PUT SKIP LIST('ERROR: UNABLE TO OPEN GTSFILE');
ON TRANSMIT(GTSFILE);
```
在上面的代码中,首先声明了一个名为 GTSFILE 的文件记录,并定义了两个变量,一个记录变量和一个整数变量。接下来,打开 GTSFILE 文件用于读取和写入,并使用一个 DO 循环从文件中读取数据并将其写回文件中。如果在打开文件时发生了错误,则跳转到 NOOPEN 标签处,并输出一条错误消息。然后,使用 ON TRANSMIT(GTSFILE) 语句来触发异常处理程序,该程序可以执行额外的操作,例如回滚事务或记录错误日志。
阅读全文