Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerManaged ブロックを使用すると、エラーが発生したときにワークフロー内でエラーを処理できます。また、これを使用して、エラーが発生した場合でも、特定のアクションステップまたは Transactions が実行されるようにすることもできます。
OnError section behavior (OnError セクション動作) OnError セクション内でエラーが発生した場合、その他のエラーと同様に処理するか ([Normal error handling (通常のエラー処理)])、ワークフローを直ちに中止できます ([Abort script on error (エラー時にスクリプトを中止)])。
前者の場合はプログラムの終了前に DoAlways 部分が実行され、後者の場合は実行されません。
これが Managed ブロックのデフォルトパスです。RPA Bot では、まず DoAction セクション内ですべてのアクションステップが実行されます。エラーが発生した場合 (Image search が失敗したなど)、DoAction セクションの実行が中止され、OnError セクションが実行されます。OnError セクションが空の場合、DoAction セクション内のエラーにより Managed ブロックがエラー状態になります。
このセクションは、DoAction セクション内のアクションステップが失敗した場合に実行されます。DoAction セクションが失敗しても、ここでエラーを処理し、状態を復元して、残りのワークフローを引き続き通常どおりに実行できるようにすることができます。OnError セクション内のすべての項目が正常に実行されると、Managed ブロックは成功 ($run = 1) とみなされます。空の OnError セクションでは、実行状態は変更されません。この場合は、Force OK State (セクション 3.8.4 を参照) を使用します。
ただし、OnError セクション内でエラーが発生した場合、その実行は中止され、Managed ブロックのエラー状態 ($run = -1) は維持されます。次の処理は、OnError セクションの動作の設定によって異なります。これが [Normal error handling (通常のエラー処理)] に設定されている場合、ワークフローでは、他のすべてのステップと同様に OnError セクションでエラーが処理されます。つまり、エラーは、囲んでいる Managed ブロックで処理できます。 これが [Abort script on error (エラー時にスクリプトを中止)] に設定されている場合、OnError セクションでさらにエラーが発生すると、ワークフローは即時中止されます。
Managed ブロック内でエラーが発生したかどうかに関係なく、Managed ブロックの最後で DoAlways セクションが実行されます。唯一の例外は、[OnError section behavior (OnError セクション動作)] が [Abort script on error (エラー時にスクリプトを中止)] に設定され、OnError セクション内でエラーが発生した場合です。DoAlways セクション内でエラーが発生した場合、その実行は中止されますが、Managed ブロックのエラー状態は変更されません。DoAlways セクションの実行はエラー状態に影響しません。エラー状態は、セクションに入ったときの状態と常に同じです。
次の例は、Managed ブロックを使用して、一般的な問題にワークフロー内で直接対応する方法を示しています。
たとえば、Internet Explorer ウィンドウを開いて Web アドレスを入力するとします。まず、Run Program を使用して Internet Explorer を開始し、アドレスバーを検索して Internet Explorer が読み込まれていることを確認してから、Web アドレスを入力します。
通常、Internet Explorer が開始されると、フォーカスはアドレスバーに置かれます。
Image search ではこれが検索されます。これが見つかった場合は、単に Web アドレスを入力して完了です。
ただし、Internet Explorer はフォーカスをすぐに失うことがあるといった一般的な問題があります。つまり、アドレスバーのテキストが強調表示されずに、アドレスバーのテキストにフォーカスがあります。
Image search ではこれが見つかりません。また、アドレスバーにフォーカスがないため、キーストローク項目を使用して単に入力を開始することもできません。 目的の Web サイトは開きません。
Managed ブロックにより、この問題の完璧な解決策が提供されます。
Run Program と Image search を DoAction セクション内に配置し、Web アドレスが含まれる Keystrokes を DoAlways セクションに配置します。
パターン画像が見つからない場合、Managed ブロックでは OnError セクションが実行されます。ここでは、単に F6 (アドレスバーにフォーカスを置くための Internet Explorer ショートカット) を押す別のキーストロークを配置します。これにより、DoAlways セクションに入ったときにアドレスバーに確実にフォーカスが置かれます。
次に、Web アドレスを入力し、正しく入力されたことを確認できます。問題が解決しました。