12. UiPath Studio開発 初級編 デバッグと例外処理

UiPath Studioでの開発を成功させるうえで、デバッグと例外処理は欠かせない要素です。

本記事ではデバッグの基本的な流れや可視化機能、ログ活用、ブレークポイントを使った検証方法から、エラーの原因・タイプ、エラーをシミュレートした実践的な対処法、さらにカスタム例外の作成・スロー手順までを体系的に解説します。

これらを理解・活用することで、開発効率の向上はもちろん、ロボットの信頼性を高めることが可能になります。

デバッグ

デバッグとは、プロジェクトが正しく機能するのを妨げるエラーを特定して削除するプロセスです。オートメーション プロジェクトのデザイン段階で、アクティビティ、ファイル、およびプロジェクト レベルでデバッグを実行することをお勧めします。

UiPath Studioでのデバッグには、以下の2種類機能を活用することで、プロジェクト動作が正しく機能することを確認しましょう。

  • ワークフローの静的な検証
    • ワークフローの動的な(実行結果の)テストを行う前に、静的な(実装内容の)検証をしましょう​
  • デバッグ実行(動的な検証)
    • デバッグは、プロジェクト全体の開発完了前だけではなく、開発過程でもワークフロー単位やシーケンス単位で実行しましょう​
    • 問題点の発見が容易となり、修正範囲が限定的で済む等、効率的に開発を進めることができます​

ワークフローの静的な検証

デザインリボンにある「ファイルを分析」ボタンか、下部の▼ボタン内のプルダウンメニューで、静的な検証を行うことができます​。

機能名役割
ファイルを分析現在デザイナーパネルで開いているワークフロー(.xaml)ファイル1つについて、ワークフローアナライザーで設定ルール項目の判定をします。
プロジェクトを分析プロジェクトフォルダーに含まれるワークフローのすべてについて、ワークフローアナライザーで設定ルール項目の判定をします。
ファイルを検証現在デザイナーパネルで開いているワークフロー(.xaml)ファイル1つを検証して、コンパイルエラーを見つけます。
プロジェクトを検証プロジェクトフォルダーに含まれるワークフローのすべてを検証して、コンパイルエラーを見つけます。
ワークフローアナライザーの設定コーディングルールに従った実装がなされているかを確認する項目を編集することができます。

分析結果は以下の通りです。

デバッグ実行(動的な検証)

UiPath Studioのデバッグタブで、デバッグに関する色んな操作ができます。デバッグにより、問題点の発見が容易となり、修正範囲が限定的で済む等、効率的に開発を進めることができます​。

デバッグ時に発生するエラーとその原因:

分類エラーの原因
コンパイルエラーアクティビティの設定変数が未定義のまま使用されている、または型が一致しない変数を代入した
システムエラー / アプリケーション例外対向システム・アプリ等での処理失敗ファイルが存在しない、データベース接続がタイムアウトする
ビジネスエラー / ビジネスルール例外条件を満たさない処理実行必須項目が入力されていない、特定の条件を満たさないデータを処理する
ワークフローアナライザー検証エラールールに反する構成・実装命名規則に違反した変数名を使用、不要な遅延処理が含まれている

​デバッグ実行の際には、デバッグリボンにある各種機能を使用でき、より詳細な検証を行うことが可能です​。

  1. 今開いているタブの `.xaml` ファイル1つ、またはプロジェクト全体で、デバッグ実行/通常実行します。
  2. アクティビティの動作を細かく検証するのに使用します。
  3. デバッグ実行の際に、 エラーが発生して停止したあとの動作を指定します。
  4. デバッグ実行の動作方法を変更することができます。
  5. 実行ログを確認するために、 ログが出力されているフォルダを開きます。

詳細な情報は以下のオフィシャルサイトをご参照ください。

参照動画

以下の動画でも、UiPath Studioのデバッグについて紹介しています。5年前の動画ですが、デバッグの基本操作は変わっていないため、ぜひご覧ください。

例外処理

RPA開発において、例外(エラー)処理は非常に重要です。適切なエラーハンドリングを行うことで、ワークフローの安定性を向上させ、想定外のエラーによる業務の停止を防ぐことができます。

例外とは?

例外(エラー)とは、ワークフローの実行中に発生する問題や予期しない事象のことを指します。例えば、以下のようなケースが考えられます。

  • ファイルが存在しない状態でファイルを開こうとした
  • データベースへの接続がタイムアウトした
  • 予期しないユーザー入力があり、処理が失敗した

これらの例外に適切に対処しないと、ワークフロー全体が停止し、業務に影響を与える可能性があります。そのため、UiPathでは、Try/Catchアクティビティなどを活用したエラーハンドリングが重要になります。

例外の種類

UiPathでは、主に Application Exception(アプリケーション例外)と Business Exception(ビジネス例外)の2種類に分類されます。

Application Exception(アプリケーション例外)

アプリケーションやシステムに関する問題で発生する例外のことを指します。例えば、次のようなケースがあります。

  • Webページの要素が見つからず、クリック処理が失敗する
  • 外部システムの応答が遅く、タイムアウトが発生する
  • Excelファイルを開こうとしたが、ファイルが存在しない

アプリケーション例外は、システム的な原因によるものが多いため、リトライ機能(Retry Scopeアクティビティ)を使用して処理を再試行することが有効です。

Business Exception(ビジネス例外)

業務ルールに違反した場合に発生する例外のことを指します。例えば、次のようなケースがあります。

  • ユーザーの入力データに必須項目が含まれていない
  • 予期しないデータ形式で処理ができない
  • 受注金額がゼロ以下のデータを処理しようとした

ビジネス例外は、システム的な問題ではなく、入力データのチェックや条件分岐を適切に設定することで事前に防ぐことが可能です。

よくある例外の型

n例外は階層構造で分類されています。一部よくある例外型の意味を右表にリストアップしています。

型名意味
FileNotFoundExceptionファイルが見つからないとき
DirectoryNotFoundExceptionディレクトリ(フォルダー)が見つからないとき
NotImplementedExceptionワークフローにまだ実装していない処理なので実行できないとき
InvalidOperationException不正な操作が行われたとき
ArgumentException渡された引数の値が不正なとき
NullReferenceExceptionNull値に対して操作しようとしたとき
IndexOutOfRangeException配列の添え字が範囲を超えていたとき
OutOfMemoryExceptionメモリが足りないとき
TimeoutExceptionタイムアウトが発生して処理を継続できないとき

例外処理の方法

UiPathでは、例外を適切に処理するために、以下の方法を活用できます。

Try/Catchアクティビティ

Try/Catchアクティビティは、ワークフロー内で発生した例外をキャッチして、適切な対処を行うための仕組みです。

  • Try(試行): 通常の処理を実行する部分
  • Catch(捕捉): 例外が発生した場合に実行する処理
  • Finally(終了処理): 例外の有無に関わらず、最終的に必ず実行する処理(例: ログ出力など)

活用例(Webページからデータ取得):

例外をスローする

UiPathには、明示的に例外を発生させたり、キャッチした例外を再スローするためのアクティビティがあります。

アクティビティ名説明
Throw手動で新しい例外を発生させる
Rethrowキャッチした例外をそのまま再スローし、上位のTry/Catchで処理を継続させる
Terminate Workflow例外発生時にワークフロー全体を強制終了する

(1) Throwアクティビティ

Throw を使用すると、手動で新しい例外を発生させることができます。

適用シナリオ:

  • ビジネスルール違反を明示的に通知したい場合
  • 想定外のエラーを適切に処理したい場合

(2) Rethrowアクティビティ

Rethrow は、キャッチした例外を再度スローするために使用します。

Try:
  - ファイルを開く
Catch:
  - 例外をキャッチしてログを記録
  - Rethrow を使って上位のTry/Catchで処理

適用シナリオ:

  • 例外のログを記録した後、上位のエラーハンドリングロジックに委ねたい場合

(3) Terminate Workflowアクティビティ

Terminate Workflow は、ワークフロー全体を強制終了させるために使用されます。

適用シナリオ:

  • システム障害など、回復不能なエラーが発生した場合
  • 重大なエラー時に、明示的に処理を停止させたい場合

注意: Terminate Workflow は、通常の開発ではあまり推奨されず、適切なTry/Catch処理で対応する方が望ましいです。

例外発生時のログ記録

エラーが発生した際、後から原因を分析するためにはログの記録が重要です。UiPathでは、「Log Message」アクティビティを使用して、エラー情報を詳細に記録できます。

例: エラー内容をログに記録

エラーの発生場所や種類を記録することで、トラブルシューティングが容易になります。

また、エラー発生時の画面を確認した時がありますので、発生時のスクリーンショットを取得するのもエラー解析に役に立ちます。
アクティビティ:[スクリーンショットを作成 (Take Screenshot)]

その他のエラー対応方法

前述の方法以外に、以下のエラー対応方法もあります。

  • 成功条件を満たすまで再試行する
    • アクティビティ:[リトライスコープ (Retry Scope)]
      • 一連の処理中に例外が発生した場合、同じ処理の再試行により、成功させることを目的として使用します。
  • エラーを無視して次の処理を継続する
    • アクティビティでの[エラー発生時に実行を継続(Continue On Error)]プロパティ
      • 主に、エラー発生時にエラー処理を必要としない場合にて、エラー発生数を削減させる目的で使用します。
      • 一部のアクティビティに用意されている[エラー発生時に実行を継続]プロパティを有効化すると、実行したアクティビティでは例外を発生せず、必ず後続の処理を続行します。

参照動画:

まとめ

UiPathでの例外処理を適切に行うことで、ワークフローの安定性を向上させ、業務の継続性を確保できます。今回紹介した手法を活用し、エラーを効果的に管理しましょう。

ポイントまとめ

✅ 例外は「アプリケーション例外」と「ビジネス例外」に分類される
✅ Try/Catchを活用して、例外を適切にキャッチ・処理する
ThrowRethrowTerminate Workflow を使い分ける
✅ ログを活用し、エラーの発生状況を明確にする

エラーハンドリングを適切に実装することで、UiPathのRPAプロセスをより強固なものにしていきましょう!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール