まいど!福地です。
今回はDAでの「Try Catch」ステップと、エラー処理の組み合わせの例を紹介していきます(^^)/
ロボットを作る上で大切なことの1つとして、どこでエラーが起きたかを明確にする必要があると僕は考えています。
予めエラー内容がわかってるのと、何が問題だったのかを探すところから始まるのとでは時間のかけ方が全然違いますよね!
ということで!
基幹システムへデータ登録しようとすると、ダイアログ等が出た時の対応を想定して説明していきますので、開発のお役に立てていただけると幸いです(*´ω`)
ダイアログと「Try Catch」ステップ
DAを使って登録作業等をする時、以下のような (フォーマットは様々ですが) ダイアログが表示されますよね↓
普通であれば「OK」で終了しますが、登録情報が間違っていたりするとエラーダイアログがあがってきますよね💦
そんな時に使うと便利なのが「Try Catch」ステップです(∩´∀`)∩
ではさっそく使ってみましょう!
①登録ダイアログで「OK」を押下したに「Try Catch」ステップを入れる
②登録完了ダイアログを出し、ダイアログ全体を指定して「Guarded Choice」ステップを入れる
※まずは正常に登録できるデータを使用ください。
③正常に登録できなかった時のステップを作成する
小ステップ(赤枠)が追加されるので、編集していきます↓
追加された小ステップの「When seconds~」を「Location Not Found」に変更し、上の「 Location Found」の「Conponent」をコピーします↓
コピーした「Conponent」を「Location Not Found」の「Conponent」に貼り付けます↓
④「Location Not Found」 ステップの後ろに、「Throw」ステップを追加し、「+」で更に小ステップを追加する
④ダイアログのクローズ処理をそれぞれ設定する
これで登録できなかった時でもダイアログが閉じられ、DAも問題なく終了します。
が!
このままだと登録できなかった時の判断がつきませんよね💦(登録できてもできなくても画面は閉じられるので)
ということで、僕がDSとDAを組み合わせた開発でよく使うエラー処理方法をご紹介します(^^)/
エラー処理
準備として、DS側で変数「エラー判定(Integer)」を作成し、上記で作成したDAのステップの「出力マッピング」に設定します。これにより、DA側から値を受け取る受け皿が完成します。
次に、DAの編集画面にて、「Output(DSに値を返す時の型)」に「Integer」、「Variables(DAで使う変数)」に「エラー判定(Integer)」を設定します↓
④の「Try Catch」ステップに戻り、それぞれの「Left Click」ステップの後に「Assign」ステップを入れ、設定していきます↓
最後に「Return」ステップにて作成した変数「エラー判定」をDSに返す設定をしてDA側の設定は完成です!
これで正常なら「0」、エラーなら「1」と区別できるようになりましたね!(^^)!
この返ってきた値を基に、DSでも設定を作っていきます!
「Desktop Automation」ステップの後ろにトライステップを作成し、「値判定」ステップを入れます↓
「値判定」ステップの「エラー処理」を設定します↓
トライステップの下の段(エラー判定の値が「1」の場合)に関しては「ファイル出力」ステップでエラーファイルを排出したり、「エラー生成」ステップでエラーを作ったりと、使いやすいように設定していただければと思います(*´ω`)
最後に
いかがでしたか?
ほんの一例に過ぎませんが、僕がよく使うエラー処理の解決法でした(^^!
「Try Catch」は「Conditional」ステップとは違いますが、上手く使うことによって開発の幅が広がりますよね!
エラー処理も奥が深そうなので、「こんなやり方あるよ!」や「こうしたほうが簡単!」とうあればドシドシコメントください!
まだまだBizrobo!触りまくって、知識蓄えよう!
んで、「Biz充」しよう(^^♪
少しでも興味を持っていただけましたらTwitterのフォロー宜しくお願い致しますm(_ _)m
ではでは、引き続きBizrobo!開発に有益な情報発信していきたいと思いますので、今後ともよろしくお願いいたします!
コメント
最近ロボ作成の際につまづいて検索すると、よくすーさんのブログがヒットします。実践のときにこんな風に使ってるよ、というような情報がとても役に立っています。いつもありがとうございます!Twitterもフォローさせていただきました。
ichihuku様
返信が遅くなり申し訳ございません。。
この度はHPをご覧くださりありがとうございます!
また、お役に立てているとのこと、大変うれしく思います!!
Twitterのフォローまでしてくださり本当にありがとうございます!
更新がなかなかできておらず申し訳ございませんが、落ち着き次第更新かけていければと思いますので、引き続きどうぞよろしくお願いいたします