5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UiPath (produced with UiPath Friends)Advent Calendar 2022

Day 8

【UiPath】キャンセルスコープ (Cancellation Scope) の使い方

Posted at

キャンセルスコープ」アクティビティの使い方を紹介します。
公式ドキュメントは以下をご参照ください。

仕様

image.png
Bodyセクション内のアクティビティを実行中にキャンセル(UiPathの実行を停止)された場合、
CancellationHandlerセクション内のアクティビティを実行して処理を終了します。

実際に動かす

image.png
Bodyセクション内にDelayアクティビティを置き、ここでキャンセル操作を行います。
検証のため、CancellationHandler内とキャンセルスコープを抜けた先にログ出力を置いています。

実行結果(キャンセルした場合)

メディア1.gif
CancellationHandleセクション内のログは出力されていますが、
キャンセルスコープを抜けた先のログは出ていません。

実行結果(キャンセルしなかった場合)

メディア2.gif
CancellationHandleセクション内のログは出力されていませんが、
キャンセルスコープを抜けた先のログは出ています。
キャンセルした場合と逆ですね。

Finally(TryCatch)との比較

ちなみにキャンセルされた場合の動作は「トライキャッチ」アクティビティのFinallyセクションと同じです。
image.png
メディア3.gif

キャンセルされた場合の動作は同じですが、
Finallyはキャンセルされなかった場合も実行されるのに対して、
キャンセルスコープはキャンセルされなかった場合は実行されないという違いがあります。
用途によって使い分けましょう。

動作環境

UiPath.System.Activities 22.10.3

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?