TryCatch アクティビティ デザイナーは、TryCatch アクティビティを作成および構成するために使用します。
TryCatch アクティビティ
TryCatch アクティビティには、Try アクティビティ、Catch<TException>Try のコレクション、および アクティビティが含まれます。TException 型の Catch には、ExceptionType および Action が含まれます。これらの組み合わせによって、標準的な例外ベースのエラー処理機構が実装されます。TryCatch アクティビティは、対応する Try アクティビティの実行を試みます。Try アクティビティから例外がスローされた場合、TryCatch アクティビティは、その Catch<TException> コレクションを使用して例外を照合します。一致が見つかった場合は、対応する Catch<TException> の Action が、例外のエラー処理ロジックとして実行されます。最後には、例外がスローされたかどうかに関係なく、TryCatch アクティビティの Finally アクティビティが実行されます。
TryCatch アクティビティ デザイナーの使用
TryCatch アクティビティ デザイナーは、[ツールボックス] の [エラー処理] カテゴリにあります。[ツールボックス] にアクセスするには、ワークフロー デザイナーの左側にある [ツールボックス] タブをクリックします (または、[表示] メニューの [ツール バー] をクリックするか、Ctrl キーと Alt キーを押しながら X キーを押します)。
TryCatch アクティビティ デザイナーを [ツールボックス] からドラッグして、アクティビティを通常配置しているワークフロー デザイナーの任意の画面 (Sequence 内など) にドロップできます。この操作により、TryCatch の既定の DisplayName を持つ TryCatch アクティビティが作成されます。DisplayName 値は、TryCatch アクティビティ デザイナーのヘッダー、またはプロパティ グリッドの [DisplayName] ボックスで編集できます。それ以外のプロパティは、TryCatch アクティビティ デザイナーの画面上で編集する必要があります。
TryCatch デザイナーの右上隅にある展開ボタンをクリックすると、[Try]、[Catch]、および [Finally] の各ボックスが、展開されたビューに表示されます。catch を追加するには、TryCatch デザイナーの [新しい catch の追加] ボタンをクリックします。このボタンが、型のコンボ ボックスに変化します。例外の型を選択し、Enter キーを押して catch を追加します。Catch を追加すると、catch の領域が展開されるので、そこにアクティビティをドロップして catch の実行ロジックを定義できます。展開された catch 領域の右側にはテキスト ボックスが表示されます。このテキスト ボックスを使用して、例外変数に名前を付けることができます。この例外変数は、同じ Catch 内のアクティビティでのみ使用できます。
TryCatch デザイナーでは、Catch の編集はサポートされません。例外の型を変更する場合は、Catch を削除してから、新たに追加する必要があります。Catch を選択して直接削除できるほか、右クリックして表示されるコンテキスト メニューの [削除] メニューを使用して削除することもできます。
TryCatch のプロパティ
次の表に、TryCatch のプロパティと、デザイナーでのその使用方法を示します。
プロパティ名 | 必須 | 使用法 |
---|---|---|
DisplayName |
省略可 |
Throw アクティビティの表示名を指定します (省略可能)。既定値は Throw です。 |
Try |
省略可 |
TryCatch を実行すると、このワークフロー要素が最初に実行されます。 |
省略可 |
Try アクティビティから例外がスローされた場合にチェックされる Catch 要素のコレクションです。 Catches にアクティビティを少なくとも 1 つ追加するか、または、Finally ブロックにアクティビティを追加する必要があります。 |
|
Finally |
省略可 |
Try および Catches コレクション内の必要なアクティビティがすべて完了した段階で実行されるワークフロー要素。 Catches にアクティビティを少なくとも 1 つ追加するか、または、Finally ブロックにアクティビティを追加する必要があります。 |
参照
概念
Rethrow アクティビティ デザイナー
Throw アクティビティ デザイナー