アクティビティ
最新
バナーの背景画像
ワークフローに関するアクティビティ
最終更新日 2024年4月22日

トライ キャッチ

System.Activities.Statements.TryCatch

説明

シーケンスまたはアクティビティ内で指定した例外の種類をキャッチし、エラー通知を表示するか、例外を無視して実行を続けます。

[トライ キャッチ] アクティビティで使用できる catch の数に制限はありません。このアクティビティでは、少なくとも 1 つの catch を追加する必要があります。

プロジェクトの対応 OS

Windows - レガシ | Windows | クロスプラットフォーム

構成

アクティビティ本体には、次の 3 つのフィールドがあります。

  • Try - エラーをスローする可能性があるアクティビティを実行します。
  • Catches - エラーが発生した場合に実行するアクティビティまたはアクティビティのセットです。
    • Exception - 検索する例外の種類です。複数の例外を追加できます。
  • Finally - [Try] ブロックと [Catches] ブロックの実行後に実行するアクティビティまたはアクティビティのセットです。このセクションは、例外がスローされない場合、またはエラーが発生して [Catches] セクションでキャッチされた場合にのみ実行されます。



    注:
    • アクティビティが [トライ キャッチ][Try] セクションに含まれていて、[エラー発生時に実行を継続] プロパティの値が True の場合、プロジェクトの実行時にエラーはキャッチされません。
    • [トライ キャッチ] アクティビティは、以下のような Fatal 例外をキャッチしません。
      • FatalException
      • OutOfMemoryException
      • ThreadAbortException
      • FatalInternalException

プロパティ

共通
  • 表示名 - アクティビティの表示名です。
その他
  • プライベート - オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。

    注:「Ctrl + T」を押すと、選択したアクティビティが [トライ キャッチ] アクティビティの [Try] セクション内に配置されます。

[トライ キャッチ] アクティビティの使用例

[トライ キャッチ] アクティビティの重要性をより深く理解できるように、ランダムな名前ジェネレーターの Web サイトから複数の名前を収集し、Excel スプレッドシートに書き込むオートメーションを作成しました。

注: 技術的な制限により、呼び出されるワークフロー内で例外が発生した場合は、トライ キャッチのシナリオで報告される例外のソースが異なる場合があります。

[データ テーブルを構築] アクティビティを使用して、収集した名前を格納する表を作成します。別のワークフローが呼び出され、Web データが読み取られます。最後に、[Excel アプリケーション スコープ] アクティビティを使用して、収集した情報を Excel ファイルに書き込みます。

まず、ワークフローを実行して、エラーがないか確認します。[Workflow Exception] ウィンドウが表示されます。[Exception Type] フィールドには、問題の原因が示されています。これは、ワークフローの実行中に検索する例外の種類として、[トライ キャッチ][Catches] セクションで使用されます。



上のスクリーンショットに示すように、サンプル ワークフローの実行時に、[ブラウザーにアタッチ] コンテナーのセレクターに問題があったようです。問題は、セレクターが、「Generate a Random Name - Fake Name Generator」という名前のブラウザー ウィンドウを識別できないことです。

この例外をキャッチするには、次の作業を実行する必要があります

  1. [アクティビティ] パネルから [トライ キャッチ] アクティビティを、[ワークフロー ファイルを呼び出し] アクティビティの上にドラッグします。
  2. [トライキャッチ] アクティビティの [Try] セクションに [ワークフローを呼び出し] アクティビティを配置します。これで、エラーをスローした場合の [ワークフロー ファイルを呼び出し] アクティビティを監視します。



  3. [Catches] セクションで、ドロップダウンから UiPath.Core.SelectorNotFoundException 例外を選択します。存在しない場合は、[参照して .Net の種類を選択] ウィンドウで検索することができます。


  4. 必要に応じて、[Catches] セクションに [メッセージ ボックス] アクティビティを追加できます。「Internet Explorer が閉じられました。ワークフローの実行を続行するには、Internet Explorer を開きます。」というメッセージが表示された場合は、[テキスト] フィールドに引用符で囲んだ通知メッセージを入力することができます。これは、例外がキャッチされると、このメッセージ ボックスが表示され、ワークフローが正常に実行されるようにブラウザーを開こうとしていることを、ユーザーに通知することを意味します。



  5. [要素の存在を確認] アクティビティを [Finally] セクションにドラッグします。これは、Internet Explorer で対象ページ (https://www.fakenamegenerator.com) が開かれているかどうかを確認するために使用します。
  6. Internet Explorer を開いて、前述のページにアクセスします。
  7. [画面上で指定] 機能を使用して、[Internet Explorer] ウィンドウを選択します。
  8. [要素の存在を確認] アクティビティを選択して、<wnd app='iexplore.exe' title='Generate a Random Name - Fake Name Generator - Internet Explorer' /> のように、セレクターを編集します。このセレクターは、[要素の存在を確認] アクティビティが、前述のページが開かれているアクティブな Internet Explorer ウィンドウのみを検索できるようにします。
  9. [出力] プロパティで、browser などの適切な名前の変数を作成します。これはブール変数で、表示されたページで Internet Explorer がアクティブかどうかを判断するのに役立ちます。
  10. [要素の存在を確認] アクティビティの下に [条件分岐 (if)] アクティビティを追加します。これは、Internet Explorer が閉じている場合に開いて、それ以外の場合はワークフローを続行するために使用します。
  11. [Condition] フィールドで、browser=false と書き込みます。この条件は、ブラウザーが開いているかどうかを確認し、その値に基づいて他のアクションを実行する場合に使用します。
  12. [ブラウザーを開く] アクティビティを、[Then] セクションにドラッグします。条件が満たされた場合 (ブラウザーが閉じている場合)、[ブラウザーを開く] アクティビティを使用して、ワークフローに影響を与えることなく、ブラウザーを開くことができます。
  13. [URL] フィールドに「https://www.fakenamegenerator.com」と入力します。
  14. Internet Explorer が既に指定した Web サイトで開かれている場合は、ワークフローが期待どおりに続行されるように、[Else] セクションは空白のままにします。



  15. ワークフローを実行し、次のいずれかを確認します。
  • Internet Explorer が閉じている場合 - ユーザーには Internet Explorer がもうすぐ開くことが通知され、ワークフローが続行できるようになります。ブラウザーが開き、予想されるすべてのデータが収集され、Excel ファイルに書き込まれます。
  • Internet Explorer が開いている場合 - ワークフローは予定どおりに実行されます。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.