2

我希望你能帮助我或指导我找可以帮助我的人。我在 M(UMPS) 中编程,但遇到了问题。在程序中,我正在等待来自大型机的响应,我读取 (R x:15) 我知道,如果我没有得到答案,15 秒后我将停止等待答案。我检查了我的 $T ,如果那里什么都没有,或者它等于零,我想停止程序。

这有时有效,但大多数情况下程序会在检查 $T 之前中止,我什至没有机会看到 x 中的内容,如何在它中止之前捕获它。我查看了控制台日志和任何地方,但没有看到任何错误。我看到的唯一错误是当我查看不成功的任务时它说 err (getr+9 这是我阅读的行。

R x:15   (IT STOPS HERE AND ABORTS if I run out of time)

我努力了

G:'$T END  
OR
I '$T G END
OR
S TEST=$T
IF TEST=0 ..........

但是如果我超时,这些检查都不会发生。如果我不超时,一切都会很好。

4

1 回答 1

2

偶然的机会,我今天来到了这个论坛。所以,也许这个问题已经回答了。无论如何,这里是:

这个问题的答案是,为什么没有从远程机器收到响应可能有多种原因。当响应传输时间太长时,以下应该起作用:

读取变量:15 If '$Test Goto ErrorHandler

但是,当两个系统之间的通信通道关闭时,这将被视为错误情况,因此在这种情况下,以下应该起作用:

设置 $ETrap="Goto ErrorHandler"

读取变量 Set $ETrap="" ; 请注意,我们不需要超时来处理这个......

希望这可以帮助

于 2014-06-10T16:32:31.337 回答