精通COBOL--16.3.3 输入过程中的异常处理
来源:互联网 发布:c语言例题 编辑:程序博客网 时间:2024/06/08 02:35
CICS中的异常处理有很多种情况,此处主要只针对在输入过程中的异常处理。异常处理是通过在相应的CICS命令中使用RESP选项实现的。RESP选项后为一个8位长度的有符号数,用以表明异常的种类。例如,以下代码在输入数据大于指定长度时,将对所抛出的异常进行处理。处理方式为在屏幕上输出相应提示信息。代码如下:
IDENTIFICATION DIVISION.
PROGRAM-ID. RESPGM.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WKFLDS.
05 INLEN PIC S9(4) USAGE IS COMP.
05 ERR-CODE PIC S9(8) COMP.
01 INAREA.
05 DATA-1 PIC X(5).
05 FILLER PIC XX.
05 DATA-2 PIC X(5).
……
*
PROCEDURE DIVISION.
MOVE 12 TO INLEN.
EXEC CICS RECEIVE INTO(INAREA)
LENGTH(INLEN)
RESP(ERR-CODE) /*此处捕获异常*/
END-EXEC.
IF ERR-CODE = DFHRESP(LENGERR)
MOVE ‘INPUT DATA TOO LONG’ TO MSG
EXEC CICS SEND FROM(MSG)
LENGTH(20)
END-EXEC
……
EXEC CICS RETURN END-EXEC.
GOBACK.
由以上代码可以看到,判断该异常的类型实际上是通过以下代码实现的:
IF ERR-CODE = DFHRESP(LENGERR)
……
其中ERR-CODE是由用户定义的一个变量。该变量通过RESP选项可得到所抛出异常的编号。将该异常编号与CICS系统中的DFHRESP相应异常编号进行比较,便可判断出该异常的类型。除以上代码中出现的异常外,通常还有以下几种异常类型:
IF ERR-CODE = DFHRESP(TERMERR) /*终端错误异常*/
……
IF ERR-CODE = DFHRESP(EOC) /*链结束(End of Chain)异常*/
……
IF ERR-CODE = DFHRESP(ERROR) /*错误异常*/
……
IF ERR-CODE = DFHRESP(NORMAL) /*无异常*/
……
需要注意的是,DFHRESP(ERROR)异常属于一种类型的异常,并不代表全部异常。判断一条CICS命令中存在任何异常,可以使用如下方式进行:
IF ERR-CODE NOT EQUAL DFHRESP(NORMAL) /*当存在任何异常时,执行相关操作*/
……
- 精通COBOL--16.3.3 输入过程中的异常处理
- 精通COBOL--16.2 CICS编译处理过程
- 精通COBOL--16.3.4 输出过程中的光标定位
- 精通cobol--第9章 COBOL中的表
- 精通COBOL--16.3 CICS在COBOL中的基本应用
- 精通COBOL--11.3.2 主调用程序中的调用过程
- 精通cobol--9.9.2 具体查找过程
- 精通cobol--9.12 处理索引语句SET
- 精通COBOL--16.5 CICS中的程序调用
- 精通COBOL--16.6 CICS中的MAP
- 精通COBOL--16.8 CICS中的队列
- 精通cobol--9.6.3 对查找数据的处理
- 精通COBOL--11.4.3 被调用程序中的入口地址
- 精通COBOL--16.3.1 基本程序结构
- 精通COBOL--16.3.2 使用CICS进行输入输出
- 精通cobol--9.1.3 表的基本用途
- 精通cobol--9.2.3 下标的格式要求
- 精通cobol--9.9.3 查找效率
- NetBeans IDE 6.1 is Available NOW!
- 精通COBOL--16.3.2 使用CICS进行输入输出
- 如何对SQL Server中的tempdb“减肥”
- Pku acm 1466 Girls and Boys数据结构题目解题报告(十七)---- 匈牙利算法求二分图的最大匹配
- 信息系统监理之数据备份与灾难恢复
- 精通COBOL--16.3.3 输入过程中的异常处理
- 内部类的访问
- 如何紧急恢复SQL Server主数据库
- 精通COBOL--16.3.4 输出过程中的光标定位
- Hibernate-HQL
- 精通COBOL--16.3.5 获取CICS的终端信息
- SQL Server数据导入导出工具BCP详解
- w32.looked.i病毒清除办法
- 精通COBOL--16.3.6 获取CICS的时间信息