v11.1以降の緑ロボット(RL2)でTry-catchブロック内にFor Each Loop(要素の繰り返し)ステップが含まれると"Finally"で内部エラーが発生する

フォローする

発生バージョン・改修ID・修正バージョン

発生Ver 改修ID 修正Ver

Desktop Automation Service 11.1.0.6

Desktop Automation Service 11.3.0.2

Desktop Automation Service 11.4.0.2

1936731

 

 

事象

v11.1以降、緑ロボット(RL2)でTry-catchにFor Each Loop(要素の繰り返し)ステップがある場合に”Finally”を通過すると内部エラーが発生します。そのため、For Each Loop(要素の繰り返し)ステップの処理が正常に完了しても本事象により処理を進めることができない状態となることから注意が必要となります。

※Loop、While Loopは、影響はございません。

エラーメッセージ

Exception message:
The finder name 'loop' is expected to be in the list of finders.

Stack trace:
com.kapowtech.lang.ApplicationError: The finder name 'loop' is expected to be in the list of finders.
at com.kapowtech.da.execution.executor.DesignRobot2Executor.updateNamedFinders(DesignRobot2Executor.java:201)
at com.kapowtech.da.execution.executor.DesignRobot2Executor.executeToNextFlowPoint(DesignRobot2Executor.java:250)
at com.kapowtech.da.execution.executor.DesignRobot2Executor.execute(DesignRobot2Executor.java:149)
at com.kapowtech.da.execution.executor.DesignRobot2Executor.handleExecutorTask(DesignRobot2Executor.java:84)
at com.kapowtech.da.execution.executor.Robot2Executor.lambda$new$0(Robot2Executor.java:51)
at java.base/java.lang.Thread.run(Unknown Source)

 

発生条件

  • v11.1以降のバージョンを利用していること
  • 緑ロボット(RL2)のTry-catchブロック内にFor Each Loop(要素の繰り返し)ステップが含まれていること

 

対処方法

  • パターンA:

    Try-catchブロック内の"Finally"内にGuarded Choiceステップなど任意のステップを用いて、For Each Loop(要素の繰り返し)ステップで用いられているエイリアスと同じエイリアスを設定することで、”Finally”を通過するようにします。

    【例】

    Step1)下の図の水色枠のように、"Finally"内に”Location Found”としてGuarded Choiceステップを構築します。

    Step2)下の図の赤色枠のように、For Each Loop(要素の繰り返し)ステップにあるエイリアスと同じ値をGuarded Choiceステップのエイリアスにも設定します。

    ※For Each Loop(要素の繰り返し)ステップのエイリアスは、デフォルトで「loop」が設定されます。

  • パターンB:

    下の図の赤色枠のように“FinderIssue”を設定して、”Finally”を通過するようにします。