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_【ゆるおさらい】ThrowとRethrowはどう違う?

Posted at

はじめに

①本記事は、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という日です。
image.png
実はこのイベント、3年前に開催された「【第3回】UiPath Friends 東京 ~ライトニングディスカッション&トーク2020 夜桜とともに~」で登壇したときのものです。皆様はご存じだったでしょうか。
(知らんわ!って方も、そんなこと言わず覚えてくださいね( T_T)\(^-^ )ハイ)
image.png

https://uipath-friends.doorkeeper.jp/events/102878
今回は、この時の資料を基にThrowとRethrowの2種類のアクティビティをゆるりとおさらいしましょう。

TryCatchアクティビティを使うときは...

多くのUiPathエンジニアが必ずと言っていいほど通る道、それがTryCatchアクティビティ。
image.png
そしてエラーになったら誘導、きちんと処理終了を見届けるために欠かせない2つのアクティビティを見ていきましょう。

Throwアクティビティ

ThrowアクティビティはTry側へ設置することで、エラーになった場合はCatch側へ誘導させる機能を持つアクティビティです。
image.png
つまり、こういう感じ。
image.png
エラーを持っておけないので、行くべきところ(異常終了として処理を終わらせるようにするとか、やり直しさせるフローへ進ませるとか)へ投げているイメージですね。

Rethrowアクティビティ

RethrowアクティビティはCatch側に設置することで、より上層部にあるTryCatchのCatch側へ誘導させる機能を持ちます。
image.png

image.png
2種類を使ったイメージは、こんな感じです。
image.png
①Main.xamlからSub.xamlへ呼び出しがあったので、処理はSub.xamlへ移ります。
②Sub.xamlのTry内でエラーが発生しました。このときのTryにあるThrowは、Sub.xaml内のCatchへ進みます。
③その場所のCatchにはRethrowがありました。
この場合は、Main.xaml側のCatchへ移りエラーの処理を行って終了する感じです。

まとめ

つまり、ThrowとRethrowは似たようで少し異なる動きをしているということですかね(ホントにわかってる?(笑))
使いどころを押さえれば難しい処理にも実装していけるので恐れず使ってみましょう。
image.png
最後までお読みいただきありがとうございました!
皆様もLT登壇、挑戦してみてくださいね!

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?