COBOL 的 EVALUATE:如何有一个空的 WHEN OTHER 子句?

Ben*_*ach 2 cobol

EVALUATE MyValue
WHEN 1
    DISPLAY "My value is 1"
WHEN 2
    DISPLAY "My value is 2"
WHEN OTHER
* Actually I don't need to do anything
END-EVALUATE
Run Code Online (Sandbox Code Playgroud)

我想在某处读到 COBOL 应用程序会因为EVALUATEwhereWHEN子句不包含评估变量的值而崩溃,如果没有WHEN OTHER语句存在。所以,为了避免崩溃,我想添加这个空的WHEN OTHER.

在什么情况下需要这样做,如果需要,这种方法是否正确?

Sim*_*sch 9

什么情况下需要这样...

在任何情况下,我所知道的每个 COBOL 环境(可能是“一些”);并且对于任何 COBOL 85/2002/2014/未来编译器都不是必需的。

...如果是这样,这种方法是否正确?

不,实际上符合 COBOL 85/2002/2014/future 的编译器会因为缺少命令语句而引发错误(有些编译器允许将其作为“扩展”[我会说这是一个错误],有些至少警告,有些保持沉默)。
如果有一些“非常奇怪的原因”总是包含WHEN OTHER:使用(几乎无操作)语句CONTINUE作为“语句”。