ITインフラを支えるスペシャリスト IIMヒューマン・ソリューション

  • youtube

RPA推進のノウハウ 7月号
―業務自動化のすすめ/RPA推進の秘訣―

btn_pagetop

■ 業務自動化のすすめ/RPA推進の秘訣 ■

シナリオに必須のエラーハンドリング

シナリオ設計や開発を多く経験された方には当たり前だと思いますが、シナリオ開発におけるエラーハンドリング(エラー把握や処置)についてご紹介します。

シナリオへのエラーハンドリング組み込みや組み立ては必須で、処理結果の判断やインシデント対応に大きく関わりますのでとても大事です。標準化(或いはひな型)の一部でもあります。

● エラーハンドリングの役割

この役割はとにかくエラー対応のためです。
いかに容易に早く原因を突き止め処置や再実行ができるか、いかにエラーの影響を短時間で小さく抑えることができるか、などでしょう。完成したシナリオの運用・保守フェーズでは特に重要となります。

人が業務を行う場合はデータや作業を目で見て判断し、正しくないものは除きますが(チェック作業)、ここではそれもエラーハンドリングに含めて説明します。

また、シナリオはどう綿密に正確に作成しても想定外のエラーが発生することがあります。
シナリオに問題がなくても、入力データが急に変わったり、実行環境が変わったりと、いろいろなケースで起こる可能性があります。
これらのエラーを予め考えて、役割を果たせるようにシナリオを組み立てることがポイントです。

● エラーハンドリングの作成例

ここではエラーを「チェックによるエラー」と「予期せぬエラー」に分けて説明することにします。

【チェックによるエラーについて】
シナリオ内で組み込むデータや処理のチェックにおいて、想定しているエラーケースについてです。
開発において「初期チェック」「関連チェック」とも呼ばれる、データ自体の属性やデータ間相互の関連でエラーと判断する場合について説明します。

  • エラー処理サブルーチン
    以下のエラー関連処理を「サブルーチン」としてまとめることもあり、複数個所で共通的に使用する場合もあります。
  • エラー種類
    例として、入力データが想定の形式ではない時(特定の値ではない、データ形式が違う、など)、条件判定時に想定の条件以外の時などが挙げられ、作業固有の内容によってエラー種類が各種あります。
  • エラー後の処理
    作業固有の内容により、エラー発生時点で処理全体を終了するか、エラー箇所は迂回して処理を継続するか、などを決めます。WinActorの処理を一時停止し、エラー内容を確認の上、停止か継続を判断する方法もあります。
  • エラーの記録
    発生したエラー内容やメッセージを、外部ファイル(csvやテキストファイルなど)に書き出す、エラーメッセージを画面に表示する、繰り返し処理などではエラーとなったレコードに記号や色で印を付けたり、メッセージを記入する、などがあります。
  • エラーの通知
    処理結果を関係者へ送付する、処理完了メールへエラー内容も一緒に記述するなどがあります。
    処理中にモニターしている場合はエラー音を出すこともあるでしょう。

【予期せぬエラーについて】
予期せぬとは、WinActorによる想定外のエラーのことで、どこで何が起こるか分かりません。
場合によっては原因が分かりにくく少々やっかいなこともあるので、インシデント対応のために、何が起こったのかをいろいろな角度から把握できるようにしておく必要があります。

  • 例外処理の構造
    一般的には「例外処理」ノードを組み込みます。シナリオ全体をこのノードでくくると、シナリオ内のどこでエラーが起こっても「異常系」へジャンプするのでコントロールしやすくなります。前回、シナリオひな型例でもこの構成を紹介しました。
  • エラー情報の取得
    上記のノードを使い「異常系」内で必要なエラー情報を取得することが必須です。
    「エラー情報収集」ライブラリの「エラー情報収集」「エラー情報表示」を設定しておけば、該当の「エラー発出ノード名」「エラー発出ノードID」「エラーメッセージ」を簡単に出力することができます。

    また、経験上非常に役立つ方法として、「画面キャプチャ」ライブラリの使用があります。
    エラー時のデスクトップ状態などを画像で保存してくれるので、エラー調査ではより早く、どこで何が起こったかを把握することができて大いに役立ちます。

  • エラー情報の格納
    上記のエラー情報を別途外部のファイルへ出力することができます。
    予期せぬエラーでは何が起こったかが分からないため、一般的にWinActorログ出力を設定して保存しておけば、エラー調査時に役立ちます。

    処理中の変数値が想定と異なりエラーになる場合もあります。
    WinActorで変数値は実行終了時にクリアされますが、「異常系」の中で「デバッグ・変数値保存」ライブラリを設定しておけば、その時点の変数全てを外部ファイルへ出力してくれるので、調査の時非常に便利です。

  • エラー情報の通知
    「エラー情報表示」で画面上に通知することも可能ですが、それをエラーメールとして通知することもできます。「画面キャプチャ」の画像もメールへ入れればすぐに内容を見ることができます。
    関係者が複数の場合など、メールでの通知は即時に一斉に行えるため効果的で一般的でしょう。
各ブラウザの設定

図:エラーハンドリング例(予期せぬエラー)


● エラーハンドリングの共通化

  • ルール化
    複数の人が開発する時はルール化が必要でしょう。役立つライブラリや方法を漏れなく同じように組み込むことで、違う人が見ても分かり易くなります。
  • 共通ルーチン化
    多くのシナリオを開発する場合、エラーハンドリングの仕組み自体はどれも共通になりますので、サブルーチン化しておけば分かり易く、見本にもなり使いやすいでしょう。
  • エラーハンドリングの普及
    内容や使い方を説明した文書化とサブルーチン(テンプレート)を用意し、開発メンバー全員と共有して使用を促すことが必要です。

    前回お話ししたシナリオひな型と合わせて普及すれば良いでしょう。ひな型と合わせて、まとめ役が内容の紹介、更新、通知などを行い、継続的に進めていけばより効果的です。




お問い合わせ
ご相談・お見積りのみのご依頼も、お気軽にお問い合わせください。
03-4333-1111 9:00 ~ 17:45 (土日、祝日を除く)