「ダウンロード待機」がエラーの場合にその後の複数のアクティビティをスキップしたい場合の処理

いつもお世話になっております。
エラー処理の方法を教えていただけますでしょうか。

あるウェブブラウザー上で、特定の期間のデータを検索してその期間の帳票(Excel)を取得し、そのExcelを加工するロボを開発しています。出力した帳票(Excel)の監視には「ダウンロード待機」のアクティビティを使用しています。

通常は正常に作動しますが、特定の期間にデータがない場合、帳票が出力されない仕様になっているため、その後の動作が停止してしまいます。
ダウンロード待機対象のファイルが出力されない場合に、その後のいくつかのアクティビティをスキップする仕様に変更したいのですが、その場合、どのアクティビティを使用するのが良いでしょうか。

ご教示いただけますと幸いです。
よろしくお願いいたします。

1 Like

こんにちは

方法はいくつかあると思いますが
例えば例外が発生するのであればTryCatchでスキップしたい部分を含めてTryで囲めば例外捕捉時にスキップすることになります。
あるいはTryCatchで例外を捕捉した上で、Catchで何かフラグを立てて置き、以降の条件分岐で処理の有無をわける方法もあるかと思います。

1 Like

お世話になります。ご教示いただきありがとうございます。
今RPA勉強中ですが、TryCatchがどうもうまく使いこなせていないようです。

TryCatchのTryにダウンロード待機とその後のアクティビティ(Excelファイルを使用)を入れると「Value cannot be null. (Parameter ‘Value’)」というエラーが表示されます。
このエラーがなぜ出ているかを理解できていません。
Excelファイルを使用のアクティビティだけをTryに入れることは可能でした。

勉強不足で大変申し訳ございませんが、ご教示いただけますと幸いです。

可能であればスクリーンショット等共有できますでしょうか?

返信ありがとうございます。
どういったわけかわかりませんが、Tryにダウンロード待機を挿入することができました。
Tryにはダウンロード待機しか挿入できませんでしたが、その後のいくつかのExcelを使用したアクティビティは一緒に入れることができませんでした。

Catchにはエラーの内容(SystemException)を入れました。
いくつも質問してしまい申し訳ございませんが、フラグを立てた場所までスキップするようなアクティビティをCatchに入れればいいのでしょうか。

以下例えばですが、Catch内でフラグ変数(Boolean)をセットしておき、後続の条件分岐でこのフラグををチェックすれば、エラー発生時に所定の処理を飛ばすことができます

エラーが起きた場合、起きなかった場合の設定をするということですね。ありがとうございます。

少し難しかったので、「現在の繰り返しをスキップ」をCatchに入れてその後のアクティビティをキャンセルして繰り返し(各行)を進めることにしようと思います。

ダウンロード待機のエラーが「System.TimeoutException」だったので、Catchに入れたのですが、停止しません。Catchにいれるエラー名が誤っているのでしょうか。

System.Exceptionにしてみて捕捉できるようでしたら、例外の指定の誤りになるかと思います。
捕捉できないようであれば、他の原因かと思います。StudioXであればGlobalHandlerが先に例外を捕捉してるかもしれません。

System.Exceptionでもエラーが発生してしまいました。
トライキャッチがむずかしいですね。エラーの解消をいったん見送ろうと思います。

長い間ありがとうございました。