Mumps编程检查超时

时间:2014-02-21 15:31:21

标签: programming-languages error-detection mumps

我希望你能帮助我或指导我找一个可以帮助我的人。我在M(UMPS)编程,我遇到了问题。在程序中我正在等待大型机的响应我做了一个读(R x:15)我明白在15秒之后如果我没有得到答案,我将停止等待答案。我检查了我的$ T,如果没有,或者它等于零,我想停止程序。

这有时会起作用,但是大多数情况下程序会在检查$ T之前中止,我甚至没有机会看到x中的内容,我怎么能在它中止之前捕获它。我查看了控制台日志和所有地方,但我没有看到任何错误。我看到的唯一错误就是当我看到它说错误的不成功的任务时(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 ..........

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

1 个答案:

答案 0 :(得分:2)

通过意外发现,我今天在这个论坛上结束了。 所以,也许这个问题已经得到了回答。无论如何,这里是:

这个问题的答案是,为什么没有从远程机器收到响应可能有多种原因。 如果传输响应只需要很长时间,则以下情况应该有效:

读取变量:15如果'$ Test Goto ErrorHandler

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

设置$ ETrap =“Goto ErrorHandler”

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

希望这有帮助