0

次のレイヤーを持つ Web アプリケーションがあります。

  1. クライアント
  2. WebAPI
  3. サービス
  4. リポジトリ

ただし、エラー処理をどこに置くべきかわかりません。webAPI コントローラー内では、try/catch ステートメントのみを使用する必要がありますか? サービス/リポジトリ コードでエラーをスローしても問題ありませんか? わかりやすいエラー メッセージ以外のデータをクライアントに渡さないようにしています。

4

2 に答える 2

2

ビジネス エラーはサービス レイヤーで処理する必要があります (たとえば、ユーザー名が既に存在するなど)。すべてのコントローラー アクションに try/catch ステートメントを配置すると、すぐに面倒になり、コードの繰り返しが発生する可能性があります。custom error handling articleカスタム エラー フィルター (クラスから派生し、メソッドExceptionFilterAttributeをオーバーライドする) など、Web API でさまざまなエラーを処理する例を提供する を参照してくださいOnException

于 2013-03-17T21:49:27.923 に答える
0

ExceptionFilter または http モジュールによってインターセプトされるカスタム例外タイプを作成できます。HTTP ステータス コードと説明を設定します。オプションで、エラー データを含むシリアル化されたオブジェクトを返すこともできます。

他の例外の種類は、ステータス コード 500 を返します。

于 2013-03-17T23:07:36.323 に答える