「再スロー」アクティビティのご紹介をします。
1.アクティビティのプログラム名
System.Activities.Statements.Rethrow
2.説明
Studio バージョン 2.0.2.0まで
クイックアクセス: 「ツールボックス」 > 「エラーハンドリング」 > 「再スロー」
Studio バージョン 2.0.3.0から
クイックアクセス: 「ツールボックス」 > 「システム」 > 「エラーハンドリング」 > 「再スロー」
「トライキャッチ」のTryブロックで発生した例外を、Catchesブロックでキャッチし、再び例外をスローします。「トライキャッチ」のCatchesブロックでのみ使用できます。
※動作を確認したコボットStudioのバージョン:2.1.1.2
※バージョンによって文言などが一部異なる場合がございます
3.プロパティ
プロパティ項目 | プロパティ名 | 入力欄 | 説明 |
---|---|---|---|
その他 | パブリック | チェック項目 | ログにアクティビティ内の変数と引数がログファイルに書き込まれ、Centerにプッシュされる。(詳細は「プロパティ項目「パブリック」について」を参照) |
表示名 | 任意の文字列 | デザイナーパネルのアクティビティ名に反映される。 |
4.使い方
コボットPlatformのポータルサイトにある「コボットPortalへようこそ!」部分の要素が見つからない場合、例外をスローする例を「スロー」アクティビティでご紹介しましたが、さらにこの例外をCatchesブロックでキャッチし、再スローする例をご紹介します。
※「スロー」で作成したワークフローを使用します。詳細は「スロー」のナレッジをご参照ください。
まずはCatchesブロックを開き、既に配置されている「1行を書き込む」を削除します。
次に、このCatchesブロックに「システム」>「エラーハンドリング」>「再スロー」をドラッグ&ドロップし、配置します。
さらに、Finallyブロックに「システム」>「オリジナル」>「1行を書き込む」をドラッグ&ドロップし、配置します。
プロパティにある「その他」>「テキスト」に文字列かString型の変数( この例の場合では、文字列で「 "ワークフローを実行しました" 」)を入力します。
※変数の作成については「変数の作成」をご参照ください。
コボットPlatformのポータルサイトを閉じてから、「ホーム > スタート」をクリック、または「F5キー」押下でワークフローを実行します。「コボットPortalへようこそ!」部分の要素が見つからない為、「ランタイム実行エラー」のダイアログボックスが表示されます。「OK」をクリックします。
出力パネルを開き、表示されている内容を確認します。Catchesブロックで例外を再スローしているため、Finallyブロックは実行されずにワークフローが終了します。その為「ワークフローを実行しました」という表示はありません。
【参考】「コボットPortalへようこそ!」部分の要素がある場合
Tryブロックの「条件分岐」のThenに配置した「1行を書き込む」で設定した「 "要素があります" 」とFinallyブロックの「1行を書き込む」で設定した「 "ワークフローを実行しました" 」という文字が表示されます。