Wcf-exception-handling
提供:Dev Guides
WCF-例外処理
WCFサービス開発者は、適切な方法でクライアントに報告する必要がある予期しないエラーに遭遇する場合があります。 *例外*として知られるこのようなエラーは、通常、try/catchブロックを使用して処理されますが、これも非常に技術特有です。
クライアントの関心領域は、エラーの発生方法やエラーの原因に関するものではないため、SOAP Faultコントラクトを使用して、WCFでサービスからクライアントにエラーメッセージを伝達します。
フォールトコントラクトにより、クライアントはサービスで発生したエラーの文書化されたビューを持つことができます。 次の例は、より良い理解を提供します。
- ステップ1 *-一般的な例外を生成する除算操作で簡単な電卓サービスが作成されます。
クラスファイルのコーディングは以下に示されています-
ここで、数値10をゼロで除算しようとすると、電卓サービスは例外をスローします。
例外は、try/catchブロックで処理できます。
整数を0で除算しようとすると、catchブロックで処理したため、値10が返されます。
- ステップ2 *-このステップでは、FaultExceptionを使用して、サービスからクライアントに例外情報を伝えます。
- ステップ3 *-FaultContractを使用してエラーメッセージを送信するカスタムタイプを作成することもできます。 カスタムタイプを作成するために不可欠な手順は以下に記載されています-
タイプはデータコントラクトの使用によって定義され、返されることを目的としたフィールドが指定されます。
サービス操作は、FaultContract属性によって装飾されます。 タイプ名も指定されます。
サービスインスタンスが作成されて例外が発生し、カスタム例外プロパティが割り当てられます。