スローのサンプル
例外を使用すると、ワークフロー、スコープ、およびユーザー レベルのエラー条件を、構造化され、統一された、タイプ セーフな方法で処理することができます。Windows Workflow Foundation の例外メカニズムは C# に似ています。開発者は、例外をスローしたり、種類別に例外をキャッチしたり、例外に変数を割り当てたりすることができます。
このサンプルでは、ワークフローが例外をモデル化してスローする仕組みや、この例外がホスト アプリケーションによって処理される仕組みを示します。サンプルでは、Exception をスローするために、ThrowActivity アクティビティを使用します。ワークフローで例外ハンドラが定義されていないため、例外はワークフローをエスケープし、ワークフローが終了します。ワークフローは非同期で実行されるため、例外情報は WorkflowTerminated イベントの WorkflowTerminatedEventArgs を介してホスト アプリケーションに送られます。
ThrowActivity アクティビティを使用する際には、スローする例外のタイプを指定して FaultType プロパティにそのタイプを割り当てる方法と、例外オブジェクトをインスタンス化して、Fault プロパティにそのインスタンスを割り当てる方法があります。FaultType プロパティを使用する場合、ThrowActivity アクティビティは、例外をスローしたときに、その例外タイプのインスタンスを作成します。この方法は、汎用的な例外をスローするか、または完全な宣言型作成シナリオを利用する場合に適しています。より具体的な例外情報をさらに提供するには、例外オブジェクトのインスタンスを作成し、ThrowActivity アクティビティの Fault プロパティにそれを割り当てます。このサンプルでは、この方法を示します。
メモ : |
---|
ThrowActivity アクティビティを使用することは、アクティビティのコード ハンドラまたは実行コードから例外をスローすることと実質的に同じです。ただし、ThrowActivity アクティビティを使用する場合には、ワークフロー作成者はワークフローでの例外のスローを明示的にモデル化することができます。 |
サンプルをビルドするには
このトピックの [サンプルのダウンロード] をクリックしてサンプルをダウンロードします。
これにより、サンプル プロジェクトがローカルのハード ディスクに抽出されます。
[スタート] をクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。
サンプルのソース ディレクトリに移動します。
コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。
サンプルを実行するには
- [SDK コマンド プロンプト] ウィンドウで、Throw\bin\debug フォルダ (このサンプルの VB のバージョンでは、Throw\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。
関連項目
参照
その他の技術情報
Using the ThrowActivity Activity
入れ子にされた例外ハンドラのサンプル
Fault Handling in Workflows
アクティビティのサンプル
Copyright © 2007 by Microsoft Corporation.All rights reserved.