精通COBOL 11 2 3 子程式的終止方式

2021-04-17 05:10:42 字數 1246 閱讀 2883

當某一子程式被呼叫執行時,該程式通常有以下

3種發展方向。

q呼叫另乙個子程式。

q終止本子程式,並返回上一層主呼叫程式。

q終止本子程式,同時退出整個系統。

關於第一條發展方向,實際上在上一小節中已有所提到。此處重點看後兩種發展方向。其中對於第

2種發展方向,主要是通過

goback

或exit program

語句實現的。對於第

3種發展方向,主要是通過

stop run

語句實現的。下面分別就以上

3種語句進行講解。

1

.goback

語句

goback

語句作為程式的結束標誌,既可以在子程式中使用,也可以在主程式中使用。二者的共同之處都是終止程式,但也有各自的區別。

q對於子程式而言,使用

goback

語句有兩方面作用。其中一方面作用是表示該子程式在此處終止。另一方面作用是表示該子程式終止後,將把控制權返回給主程式或是上一層子程式。

q對於主程式而言,

goback

語句通常表示返回到作業系統。此時,包含該程式的作業將結束執行。實際上,在主程式中使用

goback

語句和使用

stop run

語句是等效的。

2

.exit program

語句

當在子程式中使用

exit program

語句時,表示直接返回到主程式或上一層子程式中。並且,保持此時的執行單元不被終止。當子程式中所有語句執行完畢後,將會產生並執行一條隱含的

exit program

語句。在主程式中使用

exit program

語句時,不會產生任何動作。因此,通常不在主程式中使用

exit program

語句。3

.stop run

語句

在子程式中使用

stop run

語句時,通常將直接返回到作業系統中。並且,此時相應的作業也將結束執行。當在主程式中使用

stop run

語句時,通常也是直接返回到作業系統。並且,

stop run

語句將終止整個執行單元。同時,該語句還將把所有動態呼叫的子程式,以及相應的編譯連線程式從執行單元中移除掉。但需要注意的是,該語句並不刪除主程式。

精通COBOL 11 2 1 子程式的命名規則

子程式的命名通常和普通程式的命名方式相同。但是需要注意的是,對於子程式而言,不可將其字首命名為以下這幾個名字。afbafh cbccee edcibm ifyigy igzilb 實際上,以上名字都屬於 ibm相關產品的名字。如果將子程式的字首命名為以上名字,則在主程式中將不能對其進行呼叫。當在主程...

精通COBOL 11 2 2 子程式的呼叫順序

首先需要說明的是,子程式實際上就是普通的程式。當某一程式被其他程式呼叫時,該程式才相對呼叫的程式而言被稱作子程式。因此,當某一程式作為子程式被呼叫後,該程式也可再將其他程式作為子程式進行呼叫。當多個程式進行呼叫時,便存在乙個呼叫順序的問題。關於子程式的呼叫順序,通常是提倡進行線形呼叫的。例如,以下這...

COBOL子程式呼叫

內部子程式 identification division.program id.proc a.environment division.data division.procedure division.identification division.program id.proc b.enviro...