例如要打开某个文件时,可能会出现文件不存在,文件无法打开,文件正常打开等等情况。
这些情况,就是通过文件状态来进行区分,以便对不同的场合进行对应的处理。
ANY90~99 厂家定义由上可知,文件 *** 作时会发生错误,COBOL提供了检查错误和恢复I/O错误的公用地点。过程部开头应包括DECLARATIVES部分,放上出现错误时要执行的语句。
PROCEDURE DIVISION.
DECLARATIVES.
section-name SECTION.
USE statement(出现错误时调用的节).
paragraph-name.
sentence...
END DECLARATIVES.
section-name SECTION.
paragraph-name.
sentence...
USE AFTER STANDARD EXCEPTION/ERROR PROCEDURE ON file-name/INPUT/OUTPUT/I-O/EXTEND
只能在USE语句中指定一个文件,一种方式也只能有一个USE语句。如果既指定了文件,也指定了方式,则文件优先。
程序使用的所有文件要定义在数据部的第一节----文件节中。
试试吧
你学艺不精啊,其实不光COBOL是这样,大多数的编程语言都是这样,定义的变量要初始化,在初始化之前的值是随机的,即什么值都有可能。我们知道,编程语言中的变量有静态的和动态的两种,这两种变量的不同只体现在分配区域和生存周期的不同,而分配方式都是相同的:在内存中开辟一块变量所需的区间即可,并不对这块区间进行所谓的初始化(这块区间是内存中的空闲区间,甚至也有可能是某个动态变量刚刚结束生存周期所释放的。同样,这个动态变量在生存周期结束、释放内存空间时,也不对要释放的这块区间进行什么初始化)。为了程序运行结果的正确,你要在程序中对变量进行适当的初始化,如:为了程序运行的需要,你有时要把变量初始化为ZERO,有时要把变量初始化为1,有时要把变量初始化为SPACE,有时要把变量初始化为LOW-VALUE,有时要把变量初始化为HIGH-VALUE等等,打印报表的时候,你可能还要把变量初始化为一些有特殊意义的字符等等。
至于你问题的重点,这是可以实现的,但恢复到初始之前的状态有意义吗?似乎没有。对变量进行初始化,本来就是为了确保程序运行结果的正确,至于它以前是什么值,有必要知道吗?
如果你非要重新恢复到初始化以前的状态,可采用形如以下的办法,做一个备份:
01 VARIABLE-LIST.
05 VAR1 PIC X(05).
05 VAR2 PIC 9(06).
05 VAR3 PIC A(10).
77 VARIABLE-BACKUP PIC X(21).
在PROCEDURE DIVISION中,
MOVE VARIABLE-LIST TO VARIABLE-BACKUP.(先备份)
MOVE SPACE TO VAR1
MOVE ZERO TO VAR2
MOVE SPACE TO VAR3.
再做初始化。你想恢复时,只需MOVE VARIABLE-BACKUP TO VARIABLE-LIST即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)