4.11. 使用 try-catch-finally Control Flow

管理 CLI 提供了一个简单的 尝试概括性 控制流程。它由与 trycatch最终 块对应的三组操作和命令组成。捕获和最终 块是可选的,但其中至少应存在,并且只能指定一个捕获块。

控制流程从执行 尝试 批处理开始。如果 尝试 批处理成功完成,则将跳过 捕获 批处理并执行 最终 批处理。如果 尝试 批量失败,例如 java.io.IOExceptiontry- catch -finally 控制流将立即终止,如果可用,则会执行 catch 批处理。最后 的批处理始终在控制流程的末尾执行,尝试捕获 批处理是成功还是无法执行。

有四个命令定义了 try-catch-finally 控制流:

  • 尝试 命令可以启动 尝试 的批处理。尝试 批处理将继续,直到遇到 catchlast 命令之一。
  • catch 命令标记 尝试 批处理的末尾。然后,尝试 批处理退回,并且 捕获 批次启动。
  • 最后,命令标记 捕获 批处理或 尝试 批处理的末尾,并启动 最终 批处理。
  • end-try 是指结束 捕获或 最终 批处理并运行 try-catch -finally 控制流程的命令。

以下示例创建或重新创建数据源并启用它:

try
/subsystem=datasources/data-source=myds:add(connection-url=CONNECTION_URL,jndi-name=java:/myds,driver-name=h2)

catch
/subsystem=datasources/data-source=myds:remove
/subsystem=datasources/data-source=myds:add(connection-url=CONNECTION_URL,jndi-name=java:/myds,driver-name=h2)

finally
/subsystem=datasources/data-source=myds:enable
end-try