演習 – 例外処理
例外処理は、テストによってリスクが特定された後に、既に作成されているフローに実装されます。
次の演習を実装するには、Web からダウンロード アクションのみを含む新しいフローを作成します。 この例のフローでは、Windows 10 メディア作成ツールをダウンロードするように設定されていますが、アクションは任意のファイルをダウンロードするように構成できます。
メイン サブフローを作成した後に、Check_Web_Access という名前の新しいサブフローを作成します。 このサブフローでは、使用するサーバーが利用可能であるかどうかを確認する必要があります。
この機能を実現するには、Ping アクションを使用してサーバーを確認します。 次に、If ブロックを使用して、サーバーが利用可能であることが応答によって示されているかどうかを確認します。 Ping アクションで失敗が返された場合は、フローを停止する必要があります。
オプションで、現在の日付と時刻の取得およびテキストをファイルに書き込むアクションを使用して、新しいレジストリをログ ファイルに追加することもできます。
個々のアクションに対する例外処理の設定
メイン サブフローに話を戻すと、Web からダウンロード アクションには潜在的なリスクが伴います。インターネット接続の問題によってフローが失敗する可能性があるためです。
接続の問題に関してアクションを信頼性の高いものにするには、そのプロパティを開き、エラー発生時を選択します。 次に、以下のオプションを構成します。
再試行ポリシーの固定
時間: 1
サイクル間隔: 2
Check_Web_Access サブフローを実行する
アクションを繰り返して、フロー実行を続行する
このエラー処理構成により、失敗するたびに 2 秒後にアクションが再試行されます。
再試行に失敗した場合は、Check_Web_Access サブフローが実行されます。 サブフローによって、サーバーが利用可能であるかどうかが確認されます。 利用可能でない場合は、フローが停止します。 利用可能な場合は、アクションが再実行されます。
アクションのブロックに例外処理を設定する
Web からダウンロード アクションが意図したとおりに実行されるようになったので、メイン サブフローにさらに 2 つのアクションを追加しましょう。
ファイルのコピー アクションを展開し、それを構成して、ダウンロードしたファイルのコピーをデスクトップの 2 番目のハード ドライブに作成します。 次に、ファイルの名前を変更アクションを使用して、新しく作成されたファイルの名前を変更します。
フローの実行中に、2 番目のドライブが切断される場合があります。 このシナリオではフローは失敗します。 失敗を回避するには、両方のアクションに共通する例外処理動作を実装する必要があります。リスクは同じであるためです。
ファイルをコピーする前に、ブロック エラー発生時アクションを追加し、ブロック内のアクションをスキップするように構成します。
これで、ファイルのコピー中または名前の変更中にエラーが発生した場合、フローはこれらの手順をスキップして実行を続行するようになります。