はじめに
①本記事は、2023年7月開催の「UiPathブログ 発信チャレンジサマー」の4日目のブログです。
ブログの詳細、参加方法については、以下のブログを参照ください。
https://note.com/shumpei_w/n/nd082bdf28853
②このブログ情報は、2023/7時点の情報です。
③UiPathはCommunity Edition、Versionは2023.6.1を使用しています。
この資料、覚えていますか?
突然ですが、この資料を覚えている方はいらっしゃいますか?
https://speakerdeck.com/saoritakita/throwtorethrowhadouwei-u-5fcb298d-5d2d-4c40-95fc-dd623eea73f5
ヒントは2020/3/5という日です。
実はこのイベント、3年前に開催された「【第3回】UiPath Friends 東京 ~ライトニングディスカッション&トーク2020 夜桜とともに~」で登壇したときのものです。皆様はご存じだったでしょうか。
(知らんわ!って方も、そんなこと言わず覚えてくださいね( T_T)\(^-^ )ハイ)
https://uipath-friends.doorkeeper.jp/events/102878
今回は、この時の資料を基にThrowとRethrowの2種類のアクティビティをゆるりとおさらいしましょう。
TryCatchアクティビティを使うときは...
多くのUiPathエンジニアが必ずと言っていいほど通る道、それがTryCatchアクティビティ。
そしてエラーになったら誘導、きちんと処理終了を見届けるために欠かせない2つのアクティビティを見ていきましょう。
Throwアクティビティ
ThrowアクティビティはTry側へ設置することで、エラーになった場合はCatch側へ誘導させる機能を持つアクティビティです。
つまり、こういう感じ。
エラーを持っておけないので、行くべきところ(異常終了として処理を終わらせるようにするとか、やり直しさせるフローへ進ませるとか)へ投げているイメージですね。
Rethrowアクティビティ
RethrowアクティビティはCatch側に設置することで、より上層部にあるTryCatchのCatch側へ誘導させる機能を持ちます。
2種類を使ったイメージは、こんな感じです。
①Main.xamlからSub.xamlへ呼び出しがあったので、処理はSub.xamlへ移ります。
②Sub.xamlのTry内でエラーが発生しました。このときのTryにあるThrowは、Sub.xaml内のCatchへ進みます。
③その場所のCatchにはRethrowがありました。
この場合は、Main.xaml側のCatchへ移りエラーの処理を行って終了する感じです。
まとめ
つまり、ThrowとRethrowは似たようで少し異なる動きをしているということですかね(ホントにわかってる?(笑))
使いどころを押さえれば難しい処理にも実装していけるので恐れず使ってみましょう。
最後までお読みいただきありがとうございました!
皆様もLT登壇、挑戦してみてくださいね!