Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm midrange 如果PARA只有EXIT语句,则转到流程的行为/工作方式_Ibm Midrange_Cobol - Fatal编程技术网

Ibm midrange 如果PARA只有EXIT语句,则转到流程的行为/工作方式

Ibm midrange 如果PARA只有EXIT语句,则转到流程的行为/工作方式,ibm-midrange,cobol,Ibm Midrange,Cobol,例如,输出是什么 PROCEDURE DIVISION MAINPARA DISPLAY "MAIN". GO TO PARA1. DISPLAY "DISPLAY". STOP RUN. PARA1. EXIT. PARA2. DISPLAY "I AM IN PARA2" ... 它是否会执行PARA2 我不是COBOL程序员,我需要理解来自迁移工具/过程

例如,输出是什么

  PROCEDURE DIVISION
    MAINPARA
        DISPLAY "MAIN".
        GO TO PARA1.
        DISPLAY "DISPLAY".
        STOP RUN.

    PARA1.
        EXIT.

    PARA2.
        DISPLAY "I AM IN PARA2"
    ...
它是否会执行PARA2

我不是COBOL程序员,我需要理解来自迁移工具/过程AMXW COBOL的代码。目标系统是IBM AS/400。

它将继续进入PARA2,就像在您的另一个问题中一样

退出在任何情况下都不起任何作用

如果它要做什么的话,那只是在有表演的时候。如果涉及到执行,程序员可能会认为退出有地方可以返回。有了GO TO,出口会去哪里

退出没有任何作用。在任何情况下

请看这里:

我假设您有一个IBMMidrage COBOL,因为您一直用RPG标记COBOL问题。

上面的链接描述了CONTINUE的情况,但是CONTINUE和EXIT在当前IBM编译器中具有相同的功能,没有生成代码,这里也解释了这一点

那么退出和继续做什么呢?它们都不是操作语句,但它们一定有一些用途

它们是给我们的。如果我们没有可以使用的语句,或者作为我们预期会发生的事情的提醒,我们就使用它们

例如,如果站点标准不允许在if中使用否定,您可能会看到:

IF A EQUAL TO B
    CONTINUE
ELSE
    Do some stuff...
END-IF 
在IF之后必须有一个声明,但实际上你不想做任何事情。使用CONTINUE,IF现在将完全按照您的需要编译和运行

您还将看到以下内容:

    PERFORM 300-PARA THRU 300-PARA-EXIT

    ...

300-PARA.

    ...

    IF some-condition
        GO TO 300-PARA-EXIT
    END-IF

    ...

300-PARA-EXUT.
     EXIT.
由于执行范围,整个执行将以300-PARA-EXIT的最后一个语句结束。为了避免编译器诊断,段落必须包含某些内容。什么都不做的就是退出

许多人错误地认为“继续”和“退出”实际上做了些什么。我有钱,但他们没有


在IBM编译器上,EXIT在过去几年中发生了一些变化。过去,退出只能单独出现在一个段落中。它仍然没有生成代码,但不能与CONTINUE互换使用。哇!不再是真的。这是我的讽刺。

如果你告诉我们你正在使用的COBOL编译器和你正在使用的操作系统,那就太好了。为什么你自己不能尝试这么简单的事情?@BillWoodger我不是COBOL程序员,所以我对此没有太多想法,但我处理COBOL,我需要澄清一下:但是你处理什么COBOL?它不可能只是一个随机的。您可能不是COBOL程序员,但有人是。需要知道哪种COBOL和哪种操作系统,以及为什么一直将RPG作为标记。@BillWoodger我正在AS400机器上处理AMXW COBOL代码,这就是为什么我将RPG放在那里,如果它不正确,我将删除该标记RPG是与COBOL不同的语言。您应该只在与RPG语言相关的问题上添加RPG标签。谢谢。。我得到了它。在COBOL中,它听起来像是跳过了不需要的代码。@Siddharth Go-To从来都不需要,但使用它时,它只是为了跳过代码,就像在任何其他有Go-To的语言中一样。