0

エラーが発生しやすい構成オプションのいくつかを処理するために、DefaultHttpClientのラッパーを作成しています。たとえば、UTF-8を適切に処理し、接続を正常にシャットダウンするようにすべてを事前構成します。

200以外が返された場合、クライアントが特定のステータスコードのハンドラーを登録し、それを呼び出すことを考えました。

単純なケースを処理するために、いくつかのデフォルトハンドラーを提供します。

これはクリーンなAPIに適したパターンですか?例外をスローする場合、可能なHTTPステータスコード(またはほとんど)ごとに例外をスローする必要があるため、クライアントはまったく発生しない可能性のあるケースを処理する必要があります。

ハンドラーについて私が気に入っているのは、上書きされる可能性のある「デフォルトハンドラー」をいくつか提供できることです...

私はあなたの意見を聞きたいです、そして多分もっと創造的なアイデアを得たいです。

乾杯

4

2 に答える 2

3

現在、Java APIで受け入れられている方法は、チェックされていない例外を使用することです。そのため、クライアントは、APIの例外をクライアントのコードベースに対応させるためだけに内部コードを変更する必要はありません。

代わりに、チェックされていない例外を使用する場合は、実際に例外を処理する必要がある場所を除いて、コードを変更せずに保存します。

これは、エラー処理のベストプラクティスについて説明しているRobertMartinの「Cleancode」ブックに関するスライドです。スライド

于 2012-08-17T19:40:16.483 に答える
1

httpエラーコードごとに異なる例外を作成することはありません。せいぜい1つまたは2つの一般的な例外を作成し、例外の一部として正確なエラーコードを保存します。そうすれば、クライアントコードがログに記録したり無視したりするだけの場合、またはエラーコードに基づいて詳細を取得できます。

于 2012-08-17T19:38:26.780 に答える