Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ThrowとRethrowはどう違う?
Search
Sao
March 05, 2020
Technology
1
400
ThrowとRethrowはどう違う?
Sao
March 05, 2020
Tweet
Share
More Decks by Sao
See All by Sao
個人的に使って良かったUiPathアクティビティ_Part2
saoritakita
0
200
つまづいてもあきらめずに進むさおの開発日記
saoritakita
0
28
再びStudioWebを探検してみた
saoritakita
0
150
Studio_Webに触れる_好奇心旺盛なさおの冒険
saoritakita
0
260
個人的に全然使わなかったUiPathのアクティビティ
saoritakita
0
840
個人的に使って良かったUiPathアクティビティ
saoritakita
0
1.3k
久しぶりにPower Automate for desktopに触れてみる
saoritakita
0
1.1k
おうちでロボット実装〜さおラボ〜Community Editionを使ってみよう!
saoritakita
0
480
久しぶりにPythonを学ぶ
saoritakita
0
640
Other Decks in Technology
See All in Technology
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
2
7.2k
AI専用のリンターを作る #yumemi_patch
bengo4com
5
4.3k
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.8k
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
210
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
210
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
260
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
150
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.3k
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
340
PO初心者が考えた ”POらしさ”
nb_rady
0
210
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
2
9.4k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Gamification - CAS2011
davidbonilla
81
5.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How STYLIGHT went responsive
nonsquared
100
5.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
A better future with KSS
kneath
238
17k
For a Future-Friendly Web
brad_frost
179
9.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Transcript
さお(@saosao885)
目次 開発当初・・・ Throwとは/使い方 Exception(例外の種類) Rethrowとは/使い方
Throw/Rethrowの違い まとめ
自己紹介 名前:さお RPA歴:UiPath(2年以上) ※勉強期間を含む よく使用するアクティビティ: Terminal系 最近勉強会が少ない・・・ Twitter: @saosao885 ご当地、電車ネタはついて
いけるはず。。。
開発当初・・・ RPAを学び、いざ客先で開発業務をやっていた時。。。 ThrowとRethrowって、 使い方がいまいちわから ないなぁ。。。 この2つは何が違うの?
Throwとは 投げるという意味→「(エラーの時は) 何とかして」 要は「エラーの時は止めないで、どうにかロボットを動かすためのもの」 基本はTryで使用 これがないと・・・
左記はあくまで一例です
使い方 ①Try Catchアク ティビティを配置 ②ロボを作成、エラーの場 所に「Throw」を配置 ③Throwの”Exception”欄に New Exceptionと、エラーの 内容を記載
(赤字はエラー内容による)
Exception(例外の種類) 主なExceptionの種類(私の見たことあるもの) ▪Exception:エラー全般(よく使う) ▪BusinessRuleException:ビジネスエラー(そこそこ使う) ▪DirectoryNotFoundException:ファイルが見つからない ▪IOException:入力/出力のエラー ▪TimeoutException:タイムアウト
Rethrowとは Throwで起きたエラーの内容をもう1回起こす Catchで使用する 上位xaml側にあるCatchへ移動してほしいとき
例えば Rethrowは右記のような状況 の時に使用できます
使い方1 ここではビジネスエラーを 出すようにします
使い方2 Rethrowでは「前のThrowで 起きたものをもう一回発生させ たいとき」に使用 左の例では、Subのxamlファ イルで実行中、「Try」の部分 で「値の不一致」とエラーが出 るのですが、Rethrowで再度 「値の不一致」エラーが出る
使い方3 Subのxaml側で「値の不一致」が 出たビジネスエラーはMain側の Catchへ入る
ThrowとRethrowの違い Throw Rethrow アクティビティ 基本の使い方 Tryで使用 New (例外の詳細)(例外の理 由等)を記載 Catchで使用
上位にあるxaml側のCatchへ行か せたい(対応するException)時に 使う なので、プロパティに入力箇所がない どんなケースに 使う? Try中にエラーが発生するが、どう にか回避したい時等 Throwで一度起こしたエラーをもう 一回起こしたいとき
まとめ Throw→エラーを意図的に起こして「どうしたいのか」を示す Rethrow→Throwで起こしたエラーをもう一回起こしたいとき より使いやすい、止まりづらいロボづくりを目指しましょう!
イラスト:いらすとや