2012-03-22 8 views
1

私は、Exchange Webサービスに広範囲に依存するプロジェクトに取り組んでいます。今のところ私はすべてのサービスコールをtry/catchにラッピングしています。これは問題ではありませんが、1つの行を10〜ここでサービスコールを作成するための良い方法

は、私が見るオプションは次のとおりです。

  1. は、このようなbool TryExecute(Action action, Action failCallback)
  2. インターフェイスは私のサービスコールのすべてと私の呼び出しをラップするインターセプターを使用

が、これらは任意の代替されているような関数を作成します私は行方不明だ?

答えて

2

これは実装によって異なります。 try/catchを、可能な限り失敗が予想される(そして優雅にハンドリングできる)ポイントの近くに配置します。 たとえば、これらの呼び出しをテスト用にインターフェイスにラップし、それ以外の場合は共通の例外タイプのみを使用します(たとえば、EndpointNotFoundを処理し、予期せぬ障害を自分で作成したExchangeCommunication-Exceptionにラップします)。

どちらのオプションもすべてのエラーを処理するようですが、私はこれに助言するつもりはありませんが、DRYよりも確かに良いでしょう

関連する問題