将直接监视器处理程序和信号处理程序一起使用的示例
以下示例显示了如何同时使用 #pragma
exception_handler 伪指令和 signal() 函数。 此示例还显示如何使用 SIGIO 处理异常。 文件结束消息映射到 SIGIO。 SIGIO 的缺省值是 SIG_IGN。 它还显示当同时定义了特定于 HLL 的处理程序和直接监视器处理程序时,将首先调用直接监视器处理程序。
此示例使用 说明如何使用直接监视处理程序的源示例中显示的源。
- 要创建程序 T1520ICA,请输入:
CRTBNDC PGM(MYLIB/T1520ICA) SRCFILE(QCPPLE/QACSRC) - 要运行程序 T1520ICA,请输入:
CALL PGM(MYLIB/T1520ICA)输出的第一个屏幕如下所示:The first read starts Read record 1 Read record 2 Read record 3 Read record 4 Read record 5 The first read finishes The second read starts Read record 1 Read record 2 Read record 3 Read record 4 Read record 5 In direct monitor handler Exception message ID is CPF5001 The second read finishes The third read starts Read record 1输出的第二个屏幕如下:Read record 2 Read record 3 Read record 4 Read record 5 In direct monitor handler Exception message ID is CPF5001 In signal handler Exception message ID is CPF5001 The third read finishes The fourth read starts Read record 1 Read record 2 Read record 3 Read record 4 Read record 5 In signal handler Exception message ID is CPF5001 The fourth read finishes Press ENTER to end terminal session. ===> F3=Exit F4=End of File F6=Print F9=Retrieve F17=Top F18=Bottom F19=Left F20=Right F21=User Window