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
トライ キャッチの闇
Search
HANACCHI
December 26, 2023
Technology
0
95
トライ キャッチの闇
INVOKEされた先で、THROWされた例外を、上位XAMLのトライ キャッチで捕捉!
その時、INVOKEされた先で設定された値は戻ってこない!
さてどうするか!
HANACCHI
December 26, 2023
Tweet
Share
More Decks by HANACCHI
See All by HANACCHI
メール本文をどうやっつけるか
hanacchi
0
230
2024年のローコード界隈最新事情~業務担当者でもAI・生成AIを活用できる!~
hanacchi
0
350
AI JIMY - 登壇(インストール編)
hanacchi
0
410
AI JIMY - 登壇(設定編)
hanacchi
0
380
AI JIMY - 登壇(実行編)
hanacchi
0
370
パスワードを保存しますか?
hanacchi
0
380
テスト系アクティビティを使ってみる
hanacchi
0
440
君も小説家になろう!
hanacchi
0
190
マンション理事長、動く!
hanacchi
0
60
Other Decks in Technology
See All in Technology
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Making Projects Easy
brettharned
115
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Six Lessons from altMBA
skipperchong
27
3.5k
Designing for humans not robots
tammielis
250
25k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Fireside Chat
paigeccino
34
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Transcript
トライ キャッチの闇
はなっち!とは… 2020年11月 定年退職 同 年 同 月 有期契約社員
2022年7月 個人事業主化 2023年12月 相変わらず 2024年1月~ またお仕事いただけました! はなっち!の最近 在宅で、チャーハン、焼きそば三昧! ⇒冷蔵庫の最終処分役(^^♪ ⇒自己責任飯!! ! Twitter:hjmkzk Qiita:@HANACCHI FaceBook:hajime.kozaki
トライ キャッチ
例外 • 条件分岐アクティビティを使って、事象を判定すれば回避できる例外 • 通常の使い方では発生しないけど、設定次第では発生する例外 • 何時、どのようなタイミングで発生するか分からない例外 ➢ データテーブルに列を追加する時に、DT.Columns.Contains(“列名”)で既に存在しているかどうか判 断できるが、「データ列を追加」だけで実装したい。
➢ 所定フォルダ中にある、固定ファイル名のEXCELを読込み、特定シート中の、特定範囲を読み込む。 しかし、いつの間にか特定シートがなくなってしまった。 ➢ 特定シート中の、特定範囲を読み込むが、指定方法が悪い場合は、シート全体を読み込む仕様が提示 された。 ➢ 外部Webサーバからデータスクレイピングしているのだが、ネットワークが輻輳、遅延していて タイムアウトしてしまった。
例外拾わなくても分かる • 異常終了したら、そのダイアログが出るから、対策しなくてもいいぢゃん!! • UnAttended ライセンスによるタイムトリガー起動だと、そう言う訳にはいかない ➢ 異常終了した情報を収集し、例えば、スクリーンショットを取得するとか、異常をメールで通知 する仕組み、仕掛けを作成する。
こんな感じ(NORMAL) String.Join(String.Empty, 設定番号 .ToCharArray.Reverse.ToArray)
こんな感じ(ABNORMAL) String.Join(String.Empty, 設定番号 .ToCharArray.Reverse.ToArray) New BusinessRuleException ("DEMO EXCEPTION") 到達しない
こんな感じ(Try~Catch) String.Join(String.Empty, 設定番号 .ToCharArray.Reverse.ToArray) New BusinessRuleException ("DEMO EXCEPTION") 取得番号が渡されない
取得番号が渡されない String.Join(String.Empty, 設定番号 .ToCharArray.Reverse.ToArray) New BusinessRuleException ("DEMO EXCEPTION") INVOKE側でThrowが発行され、 設定した出力引数への返却処理が
行われていない!
設定した情報は返したい! • Throwする際のメッセージに、情報を載せてあげる • 出力引数のString型を止め、Dictionary型にする ➢ 例外として見せたくない情報だと、Catchした中で加工する必要がある ➢ コンストラクタを呼び出した時に、領域が確保され、データ設定が確定する(?)
やってみよう! String.Join(String.Empty, 設定番号 .ToCharArray.Reverse.ToArray) New BusinessRuleException ("DEMO EXCEPTION") 設定番号 &
"->" & 取得番号 & "=" & 取得辞書("V").ToString
まとめ • Try~Catchは、 想定している例外、想定していない例外を捕捉し、 ロボットとして異常終了させない事ができる! • 親のTry~Catchで括られた子の例外も捕捉できるが、 子からの情報を戻すことは簡単ではなく、工夫が必要である ⇒Dictionary型とか、DataRow型とか... •
やってやれない事はない! それが「UiPath」の楽しさよ UiPath
一生UiPathします How Do You Like "UiPath"?