错误处理和异常终止

要从 Java 程序启动 ABEND ,必须调用其中一个 Task.abend()Task.forceAbend() 方法。

方法 JCICS 类 EXEC CICS 命令
abend() , forceAbend() Task ABEND
ABEND
要从 Java 程序启动 ABEND ,请调用 其中一个 Task.abend() 方法 。 这将导致在 CICS 中设置异常终止条件并抛出 AbendException 。 如果 AbendException 未在更高级别的应用程序对象中捕获,或者由在调用程序 (如果有) 中注册的 ABEND-handler 处理,那么 CICS 将终止并回滚事务。
不同的 abend() 方法包括:
  • abend (字符串 abcode ) ,这将导致 ABEND 代码为 abcode的 ABEND。
  • abend (字符串 abcode ,布尔值 dump ) ,这将导致 ABEND 代码为 abcode的 ABEND。 如果 dump 参数为 false ,那么不会执行任何转储。
  • abend() ,这将导致 ABEND 没有 ABEND 代码,也没有转储。
ABEND CANCEL
要启动无法处理的 ABEND ,请调用 其中一个 Task.forceAbend() 方法 。 如上所述,这将导致抛出可在 Java 程序中捕获的 AbendCancelException 。 如果执行此操作,那么必须重新抛出异常以完成 ABEND_CANCEL 处理,以便当控制返回到 CICS时, CICS 将终止并回滚事务。 仅捕获 AbendCancelException 以进行通知,然后将其重新抛出。
不同的 forceAbend() 方法包括:
  • forceAbend (字符串 abcode ) ,这将导致 ABEND CANCEL 具有 ABEND 代码 abcode
  • forceAbend (字符串 abcode ,布尔值 dump ) ,这将导致 ABEND CANCEL 具有 ABEND 代码 abcode。 如果 dump 参数为 false ,那么不会执行任何转储。
  • forceAbend() ,这将导致 ABEND CANCEL 没有 ABEND 代码且没有转储。