いつ出るかわからないエラーが出たら...という設定方法

お世話になっております。UiPath初心者のものです。

現在ウェブサイトにDataTableの内容を転記していくという
単純なRPAを作成しています。
DataTableに読み込み、転記という操作は問題なく行えているのですが
たまにウェブサイト側でエラーが発生してしまうことがあります。
どんな時に発生する、という決まりがないので
どの処理をしていてもこの画面が出てきてしまったら、
このボタンを押してトップに戻るというような処理を追加したいのですが
それは可能なのでしょうか?

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

こんにちは

大きめの範囲でTry-Catchで例外を捕捉し、それ用に処理を記述すれば可能と思います。
実際の実装は個別の要件次第で変わるので一概には下記にくいですが、例えばテンプレートとして実装されているReFrameworkもそのような実装の一種なので参考にしてはと思います。

ありがとうございます。

色々と調べてみたのですがいまいちよくわからず。。。
ループ処理の中であらかじめ登録してある要素が出現した場合には
このボタンを押して、要素が出現した際の行から処理を継続させる…
という簡単な方法はないでしょうか?

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

エラーの発生しうる範囲が狭いのであれば、並列アクティビティを用いて、処理する方法もあります。(片側のレーンで通常処理、もう片側でエラー画面の出現を検知する処理を実装します。)ただしこのあたりもうまくいくように実装するには、対象システムや業務ロジックに依存すると思います。

ありがとうございます。

以下の添付のように処理が複数ある中でどこかの処理の最中に…
となってしまった場合も並列アクティビティは生きるのでしょうか?

発生するタイミングは画面の更新や画面の遷移をしたタイミングだけのようなので
そのアクティビティに対して並列アクティビティを使用して…の方がいいですかね?
DataTableの内容を複数行処理したいのですが、エラーが発生した場合には
同一行を再度ループ処理の頭から処理したいのですがそのような場合には
並列処理の中に代入を設けてrowの値を『-1』してあげればいいのでしょうか?

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

発生するタイミングが特定できるのであれば、並列アクティビティを用いずとも都度チェックする方法もあると思います。

同一行を再度ループ処理の頭から処理したいのですがそのような場合には
並列処理の中に代入を設けてrowの値を『-1』してあげればいいのでしょうか?

ループ処理の頭とは、当該レコードの最初でしょうか?それとも繰り返し自体の最初でしょうか?
前者の場合は、繰り返しの中に並列を設定、後者の場合は、繰り返しを含むよう並列を設定になると思いますが、ロジックが複雑な場合はそれなりの工夫が必要になると思います。

発生するタイミングが特定できるのであれば、並列アクティビティを用いずとも都度チェックする方法もあると思います。
⇒更新のタイミングで要素の検出を行い、エラーが出ていれば…のように条件分岐すればよいってことですね!!ありがとうございます!

ループ処理の頭というのは、エラーが発生したrow(“XXX”).ToString⇦rowの行から
という意味です。伝わりますでしょうか…

雑ですが、並列で実装するならおそらく以下のようなイメージになると思います。

ありがとうございます。

上記のシナリオで無事に解決いたしました!!

1 Like

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