Try Catchによる処理継続方法について

社内のWebシステムにサインインするための処理をシーケンスで作成中ですが、
ログインPWを2世代で管理しているため、PWが間違っていた場合は、Try Catchでもう1つのPWを入力して処理を継続したいと考えています。

Try Catchの構成は以下の通りに作っていますが、
PWが間違っている場合にうまくTry Catchが動作しない状況です。
初めに入力したPWが正しい場合は、Finallyの画面まで到達します。

◆Try : WebシステムのLog Inボタンのクリック

◆Catches : Exepctionを選択し、再度ID・PWを入力してLog Inボタンのクリック

◆Finally : ログイン後のWebシステムのボタンをクリック

ログを確認しましたが、Finallyの画面要素が見つからないというエラーになっています。
13:07:01.8302 => [ERROR] [UiPath.Studio.Shared.Logging.OutputLogger] [7] トライ キャッチ: このセレクターに対応する UI 要素が見つかりません:

Catches内の動作が実行されていないように見受けられるのですが、思い当たる対処法がありましたらご教示いただきたく存じます。

よろしくお願いいたします。

こんにちは

取り急ぎの確認になりますが、
PWが間違っていた場合、例外をthrowするようにしていますでしょうか?

2 Likes

ご返答いただき、ありがとうございます。

PWが間違っていた場合、例外をthrowするようにしていますでしょうか?

すみません、この部分についてよく理解ができておりません。
Try Catch以外にアクティビティが必要ということでしょうか?

こんにちは

Catch内のアクティビティに処理を遷移させるためには、Try内でUiPathとしての例外(エラー)が発生することが条件になります。
ログイン失敗によりUiPathとしての例外が発生する場合は特に不要ですが、発生しない場合は強制的に例外を発生させる「例外をスロー」(throw)アクティビティを配置する必要があります。

なお上記の場合は無理にCatchに処理を記述せずとも、ログイン処理失敗を検知するロジックで対応する処理を記述しても良いと思います。

3 Likes

@Youk さん

もし PW二つしかない場合は、Try-Catchより、ログインボタンを押して登録成功画面が有り無し判断したほうがいいと思います。Try-catch はすべての例外をcatchするので、必ずpwが間違いエラーは言えないです。

簡単なサンプルを作りましたので、ご参照まで。

1 Like

確認が遅くなりました。申し訳ありません。
ご指定の通りやってみたところ、うまく行きました!
アドバイスいただき、ありがとうございました!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.